crawlab icon indicating copy to clipboard operation
crawlab copied to clipboard

SeaweedFS定期出现8888端口无法连接,爬虫的文件也丢失。

Open jasonz1360 opened this issue 11 months ago • 6 comments

Bug 描述 爬虫代码使用了Git克隆,并且开启了自动拉取,每过2天左右,日志就会出现File not Found。查看Docker日志,显示SeaweedFS的8888端口Connection Refused.

复现步骤 该 Bug 复现步骤如下

  1. 创建一个爬虫,从GIT拉取代码,docker pull crawlabteam/crawlab:latest。
  2. 镜像digest,sha256:4c2e16e8d3fd097bf7094c3a50370498a8fe2a9478f270c64fc70cd13fb5d4af
  3. 设置启动命令,测试正常运行。
  4. 创建定时任务运行爬虫,一切正常。
  5. 过1~2天后,查看爬虫任务日志,找不到Python文件,打开文件Tab,发现文件都消失了。
  6. 查看Crawlab Docker的运行日志,提示 localhost:8888 Connection Refused.
  7. 重启docker。
  8. 文件恢复,SeaweedFS的Server也恢复了。

期望结果 SeaweedFS能正常工作,不要定期出现Connection Refused的问题。

jasonz1360 avatar Mar 16 '24 02:03 jasonz1360

持久化主节点数据了么

tikazyq avatar Mar 20 '24 02:03 tikazyq

持久化主节点数据了么

这个问题解决了,我发现docker版本切换到0.6.3就一切正常了。但是有时候需要git pull两次才能正常拉取代码,否则会第一次文件丢失,第二次pull文件都回来了。

jasonz1360 avatar Mar 20 '24 08:03 jasonz1360

持久化主节点数据了么

这个问题解决了,我发现docker版本切换到0.6.3就一切正常了。但是有时候需要git pull两次才能正常拉取代码,否则会第一次文件丢失,第二次pull文件都回来了。

是crawlab的docker镜像版本切换到0.6.3,不要用最新的镜像。

jasonz1360 avatar Mar 20 '24 08:03 jasonz1360

截屏2024-03-22 09 15 14 问题又来了,基本上只能手动传文件了

jasonz1360 avatar Mar 22 '24 01:03 jasonz1360

怎么同步git都没有用

jasonz1360 avatar Mar 22 '24 01:03 jasonz1360

找到个解决办法,挂载共用目录,这样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/***开头

jasonz1360 avatar Mar 22 '24 02:03 jasonz1360