Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
155 lines (105 loc) · 4.96 KB

File metadata and controls

155 lines (105 loc) · 4.96 KB
Copy raw file
Download raw file
Outline
Edit and raw actions

FEAPLAT常见问题

常用命令

  1. 运行:docker-compose up -d

  2. 停止:docker-compose stop

  3. 查看后端日志:docker logs -f feapder_backend

  4. 查看爬虫日志:

    1. 查看爬虫实例:docker service ps task_任务id
    2. 查看爬虫实例日志:docker service logs -n 行数 -f ID

    举例:

    docker service ps task_9
    

    docker service logs -n 20 -f u6qhyu2dauiu
    
  5. 查看正在运行的容器:docker ps

  6. 进入容器:docker exec -it 容器ID bash

修改端口

默认端口如下:

# 前端端口
FRONT_PORT=6385
# 后端端口
BACKEND_PORT=8000
# MYSQL端口
MYSQL_PORT=33306
# REDIS 端口
REDIS_PORT=6379
# 监控系统端口配置
INFLUXDB_PORT_TCP=8086
INFLUXDB_PORT_UDP=8089

通过 vim .env 敲击i 进入编辑模式,修改完按 esc退出编辑,敲击 :wq 保存

启动失败

以下列的是几种可能原因,可按照这个顺序排查,但不是所有步骤都需要走一遍

  1. 查看后端日志,观察报错

    1. 若是docker版本问题,参考部署一节安装最新版本,
    2. 若是报 This node is not a swarm manager,则是部署环境没准备好,执行docker swarm init,可参考参考部署一节
  2. 查看worker状态:

    docker service ps task_任务id --no-trunc
    

    看看error信息

  3. 查看镜像docker images,若不存在爬虫镜像registry.cn-hangzhou.aliyuncs.com/feapderd/feapder,可能自动拉取失败了,可手动拉取,拉取命令:docker pull registry.cn-hangzhou.aliyuncs.com/feapderd/feapder:版本号,版本号在.env里查看

  4. 重启docker服务,Centos对应的命令为:service docker restart,其他自行查资料

依赖包安装失败,可手动安装包

  1. 在项目配置处将 requirements.txt 一栏置空,使其不自动安装依赖

  2. 添加一个常驻任务:执行命令可填写 while true; do echo hello world; sleep 1; done

  3. 查看容器iddocker ps(若您有多台worker服务器,该任务会被随机分配到一台机器上,您需要在对应的机器上查看)

  4. 进入容器 docker exec -it 容器ID bash

  5. 接来下就和在centos服务器上操作一样了,你可以pip安装依赖

授权问题

此问题为服务器时间和时区问题, 可以在服务器上输入 date ,命令检查时间及时区是否正确

正常应该为 Mon Feb 21 17:03:11 CST 2022 注意是 CST 不是 UTC

修改时区及矫正时间命令

# 改时区
rm -f /etc/localtime
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

# 校对时间 方式1
clock --hctosys
# 校对时间 方式2
ntpdate 0.asia.pool.ntp.org

我搭建了个集群,如何让主节点不跑任务

在主节点上执行下面命令,将其设置成drain状态即可

docker node update --availability drain 节点id

Network 问题

attaching to network failed, make sure your network options are correct and check manager logs: context deadline exceeded

  1. 确定当前节点是不是Drain节点:docker node ls

    是则继续往下看,不是则在评论区留言

  2. 修复

    docker node update --availability active 节点id
    docker node update --availability drain 节点id
    

原因是Drain节点,不能为其分配网络资源,需要先改成active,然后启动,之后在改回drain

若不是以上情况,可能是network内的可分配的ip满了(老版本feaplat会有这个问题),那么可继续往下看

  1. 先检查feaplat目录下的docker-compost.yaml,翻到最后,看network相关配置是否为如下。若不是,则改成下面这样的。若下面指定的11 ip段和主机有冲突,可以写12、13等

    networks:
      default:
        name: feaplat
        driver: overlay
        attachable: true
        ipam:
          config:
            - subnet: 11.0.0.0/8
              gateway: 11.0.0.1
    

    完整配置见:https://github.com/Boris-code/feaplat/blob/develop/docker-compose.yaml

  2. 改完后,需要删除之前的network,使其重新创建,命令如下:

    docker service ls -q | xargs docker service rm # 注意 这个会停止掉所有任务。
    docker network rm feaplat # 删除网络
    docker compose rm # 删除之前feaplat运行环境
    docker compose up -d # 启动
    
Morty Proxy This is a proxified and sanitized view of the page, visit original site.