MariaDB Galera Cluster故障:第二个节点无法启动
MariaDB Galera Cluster 10.0.x 所需开放端口详解
我帮你梳理下MariaDB Galera Cluster 10.0版本必须开放的端口,正好对应你遇到的节点加入失败问题——从日志里的状态传输失败报错来看,确实是关键端口没开导致的:
核心必备端口(集群所有节点间双向开放)
- 3306:常规的MySQL/MariaDB客户端连接端口,业务访问、管理操作都离不开它
- 4567:Galera的组通信(GCS)端口,节点间的复制同步、集群状态通知全靠这个端口,你已经知道这个,但得确保双向互通
- 4568:增量状态传输(IST)端口,新节点加入时,如果能通过增量方式同步数据(无需全量)就会用这个端口,你的日志里提到IST不可用,就是因为这个端口没开,只能被迫尝试全量SST
- 4444:全量状态传输(SST)端口,当新节点完全没有集群数据时,会通过这个端口从 donor 节点拉取全量数据,你日志里用了rsync做SST,这个端口就是rsync传输的关键
快速配置防火墙(RHEL7.5 用firewalld)
直接用这些命令永久开放端口并生效:
firewall-cmd --add-port=3306/tcp --permanent firewall-cmd --add-port=4567/tcp --permanent firewall-cmd --add-port=4568/tcp --permanent firewall-cmd --add-port=4444/tcp --permanent firewall-cmd --reload
对应你的错误日志再解释下
你日志里的这条报错:
180524 23:45:28 [Warning] WSREP: 0.0 (vm-pahc-00b): State transfer to 1.0 (vm-srin-006) failed: -255 (Unknown error 255)
本质就是4444端口没开放,导致全量SST无法完成。同时因为4568端口没开,IST增量同步也用不了,最终节点没法获取集群状态,只能 abort。
内容的提问来源于stack exchange,提问作者Vijaykumar S Mathad
相关产品推荐
相关产品推荐

