云数据库GaussDB微服务容器不存在如何处理?

40 阅读3分钟

微服务容器不存在

现象描述

云数据库GaussDB管理平台(TPOPS)物理机节点微服务容器丢失。

可能原因

主机节点执行重启后,Docker服务出现问题。

定位思路

手动执行以下命令,列出所有容器,查看微服务容器是否缺失。

docker ps -a

处理步骤
  1. 以root用户登录云数据库GaussDB管理平台(TPOPS)物理机节点。

  2. 执行以下命令,重启Docker服务。

    systemctl restart docker.service

  3. 执行以下命令,查看Docker服务是否正常启动,如下图所示即为正常。

    systemctl status docker.service

  4. 执行以下命令,检查容器状态。

    docker ps -a

    • 执行结果如上所示,有14个容器,则处理完成。
    • 若容器仍有缺失,则执行后续步骤。
  5. 执行以下命令,查看微服务镜像是否存在。

    docker images -a

  6. 如果缺失的微服务(除Zookeeper和Kafka以外的)容器的镜像存在,则执行以下命令,基于该镜像运行微服务容器。

    docker run --name

    {container_name}

    **--security-opt 'seccomp:unconfined' --hostname dbs-lite --net=host -d -v

    {main_path}

    /common:/opt/cloud/common -v

    {main_path}

    /CA:/opt/cloud/CA -v

    {main_path}

    /cert/:/opt/cloud/cert -v

    {log_path}

    /

    {service}

    :/opt/cloud/logs/

    {service}

    -m

    {mem_limit}

    {image_name}

    :

    {image_version}

    2>&1**

    如果缺失的为Zookeeper或者Kafka的容器,且它的镜像存在,则执行以下命令,基于该镜像运行其容器。

    **docker run --name

    {container_name}

    --hostname dbs-lite --security-opt 'seccomp:unconfined' --net=host -d -v

    {main_path}

    /common:/opt/cloud/common -v

    {main_path}

    /CA:/opt/cloud/CA -v

    {main_path}/

    cert/:/opt/cloud/cert -v

    {log_path}

    /

    {service}

    :/opt/cloud/logs/

    {service}

    -m

    {mem_limit}

    {image_name}

    :

    {image_version}

    2>&1**

    配置文件以/data/docker-service目录为例,请在docker-service实际所在目录执行操作。其中参数配置如下:

    • container_name:值为docker images -a查询结果第一列和第二列拼接得到容器名,如 gaussdb-backupmanager24.1.30.20240205144555。
    • main_path:值为安装时配置文件/data/docker-service/config/user_edit_file.conf中main_path配置的路径,即微服务运行目录。
    • log_path:值为安装时配置文件/data/docker-service/config/user_edit_file.conf中log_path配置的路径,即日志目录。
    • service:即缺失的微服务名,微服务名需注意区分大小写,具体名称可参考:auth、workflow、common-service、rds-ha-admin、resource-manager、gaussdb-console、GaussDB-instancemanager、GaussDB-open-api、GaussDB-backupmanager、monitor-service、luban、ots、zookeeper、kafka。
    • mem_limit:即为设置容器最高占用内存,其中推荐zookeeper设置为2G,ots和gaussdb-console设置为3G,其余设置为4G。
    • image_name:即为镜像名,值为docker images -a查询结果第一列。
    • image_version:即为镜像版本,值为docker images -a查询结果第一列。
  7. 若以上步骤仍不能解决问题,请联系技术支持处理。

更多详情请参考GaussDB 文档中心:doc.hcs.huawei.com/db/zh-cn/ga…