项目场景:
创建Redis分片集群时,Waiting for the cluster to join卡住很久无反应。
问题描述
原因分析:
需要打开redis集群总线端口,redis集群总线端口为redis客户端端口加上10000,比如说你的redis 6379端口为客户端通讯端口,那么16379端口为集群总线端口。
我搭建的redis集群中端口号是 7001、7002、7003、8001、8002、8003,其中 7001、7002、7003为主节点,8001、8002、8003为从节点,那么redis集群中总线端口为17001、17002、17003。
解决方案:
查看防火墙状态
bash
systemctl status firewalld
查询已开放的端口列表
bash
firewall-cmd --zone=public --list-ports
添加指定需要开放的端口
bash
firewall-cmd --add-port=17001/tcp --permanent
firewall-cmd --add-port=17002/tcp --permanent
firewall-cmd --add-port=17003/tcp --permanent
以上即可解决问题,也可以同时把从节点的总线端口都配置进防火墙,这样主从切换就不会出现问题了。