更新时间:2023-03-17 GMT+08:00

扩容失败

用户问题

Console界面正常,MRS集群扩容失败

问题现象

Console界面正常,查看MRS Manager界面也无警告无错误,但MRS集群无法扩容报“集群存在非运行状态节点,请稍后重试”的错误。

原因分析

MRS集群的扩缩容要建立在集群处于正常运行的基础上,所以首先要检查集群是否处于正常与否,现在报的是集群存在非运行状态节点,而console界面和MRS Manager界面都是正常的,所以可能原因就是数据库中集群状态不正常或未刷新导致集群相关节点处于非正常运行状态导致的。

处理步骤

  1. 登录MRS控制台,单击集群名称进入集群详情页面查看集群状态,确保集群状态为“运行中”。
  2. 单击“节点管理”,查看所有节点的状态,确保所有节点的状态为“运行中”。
  3. 登录集群的podMaster节点跳转到MRS的deployer节点,查看api-gateway.log的日志。

    1. kubectl get pod -n mrs命令查看MRS 对应的deployer节点的pod
    2. kubectl exec -ti ${deployer节点的pod} -n mrs /bin/bash命令登录相应的pod,如执行kubectl exec -ti mrsdeployer-78bc8c76cf-mn9ss -n mrs /bin/bash命令进入MRS的deployer容器。
    3. 在/opt/cloud/logs/apigateway目录下查看最新的api-gateway.log日志,检索里面的关键信息(如:ERROR,scaling,clusterScaling,HostState,state-check,集群ID等)查看报错类型。
    4. 根据报错提示信息进行相应处理,然后再次执行扩容操作。
      • 扩容成功,则处理完成。
      • 扩容失败,则执行4

  4. /opt/cloud/mysql -u${用户名} -P${端口} -h${地址} -p${密码}登录数据库。
  5. 执行select cluster_state from cluster_detail where cluster_id="集群ID";查看cluster_state。

    • cluster_state为2,则集群状态正常,执行6
    • cluster_state不为2,说明集群状态在数据库中异常,可用update cluster_detail set cluster_state=2 where cluster_id="集群ID";刷新集群状态,并查看cluster_state。
      • cluster_state为2,则集群状态正常,执行6
      • cluster_state不为2,则请联系技术工程师处理。

  6. 执行selece host_status from host where cluster_di="clusterID";命令查询集群主机状态。

    • 如果主机状态为started,则处理完成。
    • 如果主机状态不为started,则可执行update host set host_status='started' where cluster_id="集群ID";命令更新主机状态到数据库。
      • 如果主机状态为started,则处理完成。
      • 如果主机状态不为started,则请联系技术工程师处理。