一、环境依赖
python2.7
redis
kafka(zookeeper)
scrapy cluster
二、预备工作
我的操作系统为Ubuntu
sudo ufw disable #关闭防火墙
sudo apt-get install git #安装git 下载scrapy cluster用
sudo apt-get install net-tools #我主要是用到ifconfig看ip用
sudo apt-get install python-pip python-scrapy #不必多说
sudo apt-get install vim
sudo apt-get install openjdk-8-jdk-headless #kafka的依赖 还是不要用这个了 巨坑 自己下载java8源码安装,配置环境变量用
#dns映射
sudo vim /etc/hosts
三、redis搭建
wget http://download.redis.io/releases/redis-3.0.0.tar.gz #下载redis
tar xzvf redis-3.0.0.tar.gz #解压
cd redis-3.0.0
make
make test #可能会报错 根据错误指令 apt-get install tcl解决
src/redis-server redis.conf & #后台运行redis服务
四、kafka搭建
wget http://apache.fayea.com/kafka/0.10.2.1/kafka_2.10-0.10.2.1.tgz
tar xzvf kafka_2.10-0.10.2.1.tgz
cd kafka_2.10-0.10.2.1
- zookeeper
vim config/zookeeper.properties#修改zookeeper配置文件,其中包括端口,dataDir等
nohup ./bin/zookeeper-server-start.sh config/zookeeper.properties > logs/zookeeper.log 2>1 & #启动zk logs文件夹自己建(2>1什么鬼)
#查看zookeeper.log 没有报错即为成功 (我挂在这里 各种问题 可能是防火墙,可能是权限,确定了是java版本 按照前言说的做)
- kafka
cd config
cp server.properties server1.properties
cp server.properties server2.properties
vim #修改就不说了
cd ../
bin/kafka-server-start.sh config/server1.properties & #还有server2 看你要多少喽(启动成功)
bin/kafka-topics.sh start --create --zookeeper localhost:2181(按需) --replication-factor 1(可以按zk几个节点来) --partitions 1 --topic test #创建topic
bin/kafka-topics.sh --describe --zookeeper localhost:2181(按需) --topic test
五、scrapy cluster
git clone http://github.com/istresearch/scrapy-cluster.git
cd scrapy-cluster
pip install -r requirements.txt #安装所需插件,但是会出错,需要自行安装其他的
#sudo apt-get install libssl-dev openssl libxml2-dev libxslt-dev python-dev python-nose python-coverage
#pip install lxml
./run_offline_tests.sh #离线测试
./run_online_tests.sh #在线测试