dongrixinyu
冬日新雨
采纳率0%
2017-08-25 10:44 阅读 1.9k

Pyspider爬虫框架使用Docker部署分布式连接redis数据库,连不上?

问题是这样的,使用docker布置分布式爬虫,框架采用pyspider,消息队列使用redis数据库,但是却无法在数据库中显示消息信息,
消息队列中无信息
求解!

代码如下:
单点redis 虚拟机上命令行部署:ip 192.168.0.137

 docker run --name mysql -d -p 192.168.0.137:3306:3306 -e MYSQL_ROOT_PASSWORD=root1234 mysql:latest

docker run -d --name redis -p 192.168.0.137:6379:6379 --restart=always redis:latest

docker run --name phantomjs -m 512m -d -e EXCLUDE_PORTS=5000,23333,24444 -p 192.168.0.137:25555:5000 --restart=always cecil/pyspider:add_mysql

docker run --name phantomjs-lb -d --link phantomjs --restart=always dockercloud/haproxy:latest

docker run --name fetcher  -m 128m -d --link phantomjs-lb:phantomjs -e EXCLUDE_PORTS=5000,25555,23333 --restart=always cecil/pyspider:add_mysql \
 **--message-queue "redis://192.168.0.137:6379/1"** \
 --phantomjs-proxy "phantomjs:80" \
 fetcher --xmlrpc

docker run --name fetcher-lb -d --link fetcher --restart=always dockercloud/haproxy:latest

docker run --name processor -m 256m -d --restart=always cecil/pyspider:add_mysql \
 --projectdb "mysql+projectdb://root:root1234@192.168.0.137:3306/projectdb" \
 --message-queue "redis://192.168.0.137:6379/2"

docker run --name processor-lb -d --link processor --restart=always dockercloud/haproxy:latest

docker run --name scheduler -d -p 192.168.0.137:23333:23333 --restart=always cecil/pyspider:add_mysql \
 --taskdb "mysql+taskdb://root:root1234@192.168.0.137:3306/taskdb" \
 --resultdb "mysql+resultdb://root:root1234@192.168.0.137:3306/resultdb" \
 --projectdb "mysql+projectdb://root:root1234@192.168.0.137:3306/projectdb" \
 --message-queue "redis://192.168.0.137:6379/3" \
 scheduler --inqueue-limit 5000 --delete-time 43200

docker run --name result_worker -m 256m -d --restart=always cecil/pyspider:add_mysql \
 --taskdb "mysql+taskdb://root:root1234@192.168.0.137:3306/taskdb" \
 --resultdb "mysql+resultdb://root:root1234@192.168.0.137:3306/resultdb" \
 --projectdb "mysql+projectdb://root:root1234@192.168.0.137:3306/projectdb" \
 --message-queue "redis://192.168.0.137:6379/4"

docker run --name webui -m 256m -d -p 192.168.0.137:5000:5000 -e EXCLUDE_PORTS=24444,25555,23333 --link fetcher-lb:fetcher --restart=always cecil/pyspider:add_mysql \
 --taskdb "mysql+taskdb://root:root1234@192.168.0.137:3306/taskdb" \
 --resultdb "mysql+resultdb://root:root1234@192.168.0.137:3306/resultdb" \
 --projectdb "mysql+projectdb://root:root1234@192.168.0.137:3306/projectdb" \
 --message-queue "redis://192.168.0.137:6379/5" \
 webui --username "root" --password "123456" --need-auth --max-rate 0.2 --max-burst 2 --scheduler-rpc "http://192.168.0.137:23333/" --fetcher-rpc http://fetcher/

其中重点是若干redis数据库语句,

 --message-queue "redis://192.168.0.137:6379/4" 

是否有误?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

相关推荐