反馈已提交

网络繁忙

当前为10.0版本文档,只有最新版本的文档支持在线编辑修改,如果想创建/编辑文档,请移步至 最新版帮助文档

集群节点标红异常模块CLUSTER_MEMBER_MODULE

  • 文档创建者:知识库
  • 历史版本:2
  • 最近更新:知识库 于 2021-11-23
  • 1. 问题描述

    集群节点页面标红,如下图所示:

    3.png

    2. 排查步骤说明

    2.1 节点数量比预期的少

    2.1.1 现象一

    问题描述

    比如启动了 3 个节点, 但是页面上只能看到 2 个。

    1)原因一:集群通信异常

    解决方案

    • 节点间 ip 是否能相互 ping 通。

    • 排查7800,7830, 7840, 7850, 7870这 5 个集群通信端口是否有防火墙。

    2)原因二:获取到的网卡ip不对

    解决方案

    集群配置页面,节点管理可以对节点信息进行编辑,修改 ip 地址为正确的 ip 地址,然后重启工程即可。详情请参见:配置开启集群 文档的 3.4 节内容。

    2.1.2 现象二

    问题描述

    单个节点只显示自己的节点,且节点飘红。

    原因分析

    2021-07-13 和 2021-07-16 的 JAR 包,不支持同时启动, 得一个节点启动完成后再启动另一个。

    解决方案

    升级到 2021-09-07 之后的JAR,  配置 hostname 对本地回环地址的映射后,启动正常,节点显示正常。 

    2.2 节点数量符合预期

    2.2.1 页面节点数正常但某个节点飘红

    问题描述

    比如启动了 3 个节点, 页面上能看到 3 个,但还是某个节点标红,且显示异常模块:CLUSTER_MEMBER_MODULE

    排查步骤

    1)集群刚启动,检测线程稍有滞后,等待一会刷新。

    2)等待 3 分钟后依然标红,此时说明确实有异常,此时要观察日志,往下排查。

    现象一

    redis里的节点数量> jgroups里的节点数量

    4.png

    后台日志中可见报错类似如下:

    17:23:40 ClusterMemberHealthMonitorSchedule-14-worker-1 ERROR [standard]  Cluster members may have errors. JGroupsNodes:[6bdaf2fa-2a6e-6b2e-b101-c96dc145f9c5, 72ca96f6a1bd9c72ffa52f02d83910ad005c03f751f6795af7df8aaf9ba43b20b49c330efe167feb], RedisNodes:[72ca96f6a1bd9c72ffa52f02d83910ad005c03f751f6795af7df8aaf9ba43b208b219ebaf96d8128, 6bdaf2fa-2a6e-6b2e-b101-c96dc145f9c5, 72ca96f6a1bd9c72ffa52f02d83910ad005c03f751f6795af7df8aaf9ba43b20b49c330efe167feb]

    此时是有多个工程连接到了同一个 redis 环境, 且没有设置各自工程的 redis 前缀,导致 redis 里记录了其他集群的节点信息。

    现象一解决方案

    • 每个集群连不同的 redis, 不要共用。

    • 给每个集群配单独的 redis 前缀 

    1637667028560046.png

    现象二

    jgroups里的节点数量 > redis里的节点数量, 且报错 "[Cluster] node ***** cancel heartbeat"。

    此时是因为集群节点的时间不同步, 导致检测线程异常。

    现象二解决方案

    同步服务器时间

    2.2.2 两个节点各自显示另一个节点标红

    问题描述

    且显示异常模块:“CLUSTER_MEMBER_MODULE

    原因分析

    集群通信异常。

    解决方案

    节点间使用命令:ping -I eth0 ip 

    其中 eth0 要换成本机的网卡, ip要换成节点管理页面显示的另一个节点的ip, 如下图:

    7.png

    1637667259339699.png

     命令执行后查看是否有警告信息,如下图:

    1637667292968237.png

    出现该警告,则表示当前用户没有这个命令的权限,需要更换 root 用户来启动工程,或者更换有权限的用户来启动工程,最好就是 root 用户。

    如果是 root 用户执行 ping 命令仍然提示权限不足,可能是 java 没有网卡权限,需要给 java 命令赋权:

    sudo setcap cap_net_raw=ep /usr/java/jdk1.8.0_102/bin/java

    java 的路径换成实际的,然后重启。

    2.2.3 两个节点显示两个节点标红

    问题描述

    双节点集群,每个节点单独访问正常,但是集群页面显示两个节点标红。后台报错com.fr.third.jgroups.TimeoutException:timeout waiting for response from xxx

    1637667410564929.png

    原因一

    由于内存压力大了,服务器半瘫痪,节点间通信超时导致的节点异常。

    原因一对应的解决方案:

    内存状态恢复后节点会自动恢复正常。

    原因二

    Tomcat 下的 wabapps 文件夹放置了多个工程文件夹(多个 webroot ),导致工程重复启动。

    原因二对应的解决方案:

    将其他 webroot 移走。

    原因三:

    weblogic 和 WebSphere 容器部署时,重启工程需要将容器杀死再启动,不能通过容器的控制台来重启,否则会有线程残留,导致类似重复启动的情况,从而标红。

    原因三对应的解决方案:

    重启时杀死容器再启动,Tomcat 部署如果用 shutdown.sh 来停止也可能导致一样的问题。

    附件列表


    主题: 部署集成
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526