crawlab
crawlab copied to clipboard
SeaweedFS定期出现8888端口无法连接,爬虫的文件也丢失。
Bug 描述 爬虫代码使用了Git克隆,并且开启了自动拉取,每过2天左右,日志就会出现File not Found。查看Docker日志,显示SeaweedFS的8888端口Connection Refused.
复现步骤 该 Bug 复现步骤如下
- 创建一个爬虫,从GIT拉取代码,docker pull crawlabteam/crawlab:latest。
- 镜像digest,sha256:4c2e16e8d3fd097bf7094c3a50370498a8fe2a9478f270c64fc70cd13fb5d4af
- 设置启动命令,测试正常运行。
- 创建定时任务运行爬虫,一切正常。
- 过1~2天后,查看爬虫任务日志,找不到Python文件,打开文件Tab,发现文件都消失了。
- 查看Crawlab Docker的运行日志,提示 localhost:8888 Connection Refused.
- 重启docker。
- 文件恢复,SeaweedFS的Server也恢复了。
期望结果 SeaweedFS能正常工作,不要定期出现Connection Refused的问题。
持久化主节点数据了么
持久化主节点数据了么
这个问题解决了,我发现docker版本切换到0.6.3就一切正常了。但是有时候需要git pull两次才能正常拉取代码,否则会第一次文件丢失,第二次pull文件都回来了。
持久化主节点数据了么
这个问题解决了,我发现docker版本切换到0.6.3就一切正常了。但是有时候需要git pull两次才能正常拉取代码,否则会第一次文件丢失,第二次pull文件都回来了。
是crawlab的docker镜像版本切换到0.6.3,不要用最新的镜像。
怎么同步git都没有用
找到个解决办法,挂载共用目录,这样git只需要sync一次,还省力
举例方法:
volumes:
- "/opt/.crawlab/master:/root/.crawlab" # 持久化 crawlab 元数据
- "/opt/crawlab/master:/data" # 持久化 crawlab 数据
- "/var/crawlab/log:/var/log/crawlab" # 持久化 crawlab 任务日志
- "/opt/finbase-crawlab:/root/***:rw" # 持久化 crawlab 代码
然后在爬虫的命令里加上root/***开头