MariaDB 10.5 Galera 4集群节点wsrep_cluster_size显示异常求助
问题描述
- 环境:MariaDB 10.5 搭配 Galera 4 搭建的3节点集群,已稳定运行6个月
- 触发事件:处理CPU密集型查询时杀死进程后,n1节点出现失步
- 异常表现:
- n1节点重建后,自身执行
SHOW STATUS LIKE 'wsrep_cluster_size';返回值为0,但n2、n3节点显示集群大小为3 - 停止n2、n3节点并从n1重建后,n3节点显示
wsrep_cluster_size=0,n1、n2节点显示集群大小为3
- n1节点重建后,自身执行
- 当前状态:所有节点日志、表检查均正常,数据同步无异常,数据库业务运行正常
排查与解决建议
1. 验证集群配置一致性
- 检查三个节点的
wsrep_cluster_address参数是否完全一致,执行以下命令确认:SHOW VARIABLES LIKE 'wsrep_cluster_address'; - 确保参数中包含的所有节点IP/域名无拼写错误,格式统一
2. 检查集群UUID匹配
- 对比三个节点的
wsrep_cluster_uuid值,确认完全相同,执行命令:SHOW STATUS LIKE 'wsrep_cluster_uuid'; - 若UUID不一致,说明节点未加入同一集群,需强制异常节点重新加入
3. 确认节点间网络连通性
- 测试节点间Galera核心通信端口(默认4567、4568、4444)的连通性,例如:
nc -zv <目标节点IP> 4567 - 检查防火墙、安全组规则是否允许上述端口的双向通信
4. 检查节点就绪状态
- 查看异常节点的
wsrep_ready状态,确认是否为ON:SHOW STATUS LIKE 'wsrep_ready'; - 若状态为
OFF,说明节点未准备好加入集群,可尝试重启节点并观察启动日志
5. 强制异常节点加入集群
- 停止异常节点的MariaDB服务,启动时指定集群地址强制加入:
systemctl stop mariadb systemctl start mariadb --wsrep-cluster-address=gcomm://<正常节点IP1>,<正常节点IP2> - 启动后再次检查
wsrep_cluster_size状态是否恢复正常
内容的提问来源于stack exchange,提问作者Bartosz
相关产品推荐
相关产品推荐

