redis3.0集群使用发现的一些问题

本文探讨了Redis集群搭建过程中的几个关键问题,包括集群重启后的数据一致性验证、密码认证失效及额外端口开启等问题,并提供了相应的解决方案。
1、看了官方文档,没有发现有关整个集群关闭再启动的方法。集群是多机器多节点运行,一般情况不可能出现所有机器都挂掉。但万一同时挂掉,数据丢失的可能性就极大了。
验证方法:手动关闭了集群中所有节点,然后再逐一启动所有节点。然后用redis-trib.rb在创建集群时报如下错误,从官方文档中也没有找到相关说明。
[ERR] Node 192.168.116.130:7000 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.
 
2、不支持在配置文件中设置密码认证。
在配置文件中设置密码,redis-trib.rb在创建集群提示无法连接节点。
在命令行客户端下使用config set requirepass password 可以设置密码。
但测试发现集群中只要有多个节点重启后,密码认证就会失去作用。
 
3、发现额外开启了一些端口,暂不清楚作用,猜测是用于集群节点健康检查。
最初搭建集群规划机器和端口情况如下:
192.168.116.129    7000,7003
192.168.116.130    7001,7004
192.168.116.131    7002,7005
由于在公网环境下使用,所以开启iptables,添加了一规则:
iptables -A INPUT -m state --state NEW -m tcp -p tcp -s 192.168.116.129 --dport 7000 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp -s 192.168.116.129 --dport 7003 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp -s 192.168.116.131 --dport 7000 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp -s 192.168.116.131 --dport 7003 -j ACCEPT
开启iptables之后,检测集群一直发现异常:
 
在192.168.116.129 这台机器执行netstat -nltp命令查看,发现监听的端口除了配置文件中定义的7000和7003外,还监听了17000
和17003.
在另外两台机器上查看,发现情况一样。
随后在每台机器上重新添加几条规则,192.168.116.129规则如下:
iptables -A INPUT -m state --state NEW -m tcp -p tcp -s 192.168.116.129 --dport 17000 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp -s 192.168.116.129 --dport 17003 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp -s 192.168.116.131 --dport 17000 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp -s 192.168.116.131 --dport 17003 -j ACCEPT
然后重新检测下集群,恢复正常:
 

转载于:https://www.cnblogs.com/Eivll0m/p/4883584.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值