redis集群报错解决办法:(error) CLUSTERDOWN The cluster is down

redis4.0 版本cluster被重启后,启动不了!!!心中N个滚粗而出。。。途中花了不少时间去修复这个问题

解决第一个问题

#启动redis遇到问题
/usr/local/redis_cluster/bin/redis-server /usr/local/redis_cluster/7003/redis.conf

报错如下:Unrecoverable error: corrupted cluster config file.

12213:C 27 Jul 14:44:23.967 # Configuration loaded
12214:M 27 Jul 14:44:23.969 # Unrecoverable error: corrupted cluster config file.
12486:C 27 Jul 14:45:08.377 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
12486:C 27 Jul 14:45:08.377 # Redis version=4.0.11, bits=64, commit=00000000, modified=0, pid=12486, just started
12486:C 27 Jul 14:45:08.377 # Configuration loaded
12487:M 27 Jul 14:45:08.379 # Unrecoverable error: corrupted cluster config file.
12790:C 27 Jul 14:46:11.114 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
12790:C 27 Jul 14:46:11.114 # Redis version=4.0.11, bits=64, commit=00000000, modified=0, pid=12790, just started
12790:C 27 Jul 14:46:11.114 # Configuration loaded
12791:M 27 Jul 14:46:11.116 # Unrecoverable error: corrupted cluster config file.

第一个问题解决办法:

[root@localhosts data]# pwd
/usr/local/redis_cluster/data
[root@localhosts data]#  ls -sh
total 2.7G
509M appendonly-7003.aof  4.0K nodes-7003.conf  256M temp-2470.rdb
507M appendonly-7004.aof  4.0K nodes-7004.conf   22M temp-2616.rdb
493M appendonly-7005.aof  4.0K nodes-7005.conf  229M temp-rewriteaof-10579.aof
294M dump.rdb             321M temp-2441.rdb    102M temp-rewriteaof-11209.aof
[root@localhosts data]#  vim nodes-7003.conf
#nodes-7003.conf  删除非myself的其他行,只保留myself那行,然后保存。

解决第二个问题

第一个问题解决后,redis 集群起来了,但是,进去不能写数据,提示:[ERR] Sorry, can't connect to node 192.168.11.244:7001

$ /usr/local/redis_cluster/src/redis-trib.rb check 192.168.11.244:7001
[ERR] Sorry, can't connect to node 192.168.11.244:7001

第二个问题解决办法:

find / -name "client.rb"
/usr/share/ruby/xmlrpc/client.rb
/usr/local/rvm/gems/ruby-2.3.3/gems/redis-4.0.3/lib/redis/client.rb
/usr/local/rvm/gems/ruby-2.3.3/gems/redis-3.0.7/lib/redis/client.rb
/usr/local/rvm/gems/ruby-2.3.3/gems/elasticsearch-transport-1.0.18/lib/elasticsearch/transport/client.rb
/usr/local/rvm/rubies/ruby-2.3.3/lib/ruby/2.3.0/xmlrpc/client.rb
vim /usr/local/rvm/gems/ruby-2.3.3/gems/redis-4.0.3/lib/redis/client.rb
#找password更改为你的redis密码
    DEFAULTS = {
      :url => lambda { ENV["REDIS_URL"] },
      :scheme => "redis",
      :host => "127.0.0.1",
      :port => 6379,
      :path => nil,
      :timeout => 5.0,
      :password => "123456",
      :db => 0,
      :driver => nil,
      :id => nil,
      :tcp_keepalive => 0,
      :reconnect_attempts => 1,
      :reconnect_delay => 0,
      :reconnect_delay_max => 0.5,
      :inherit_socket => false
    }

然后修复

/usr/local/redis_cluster/src/redis-trib.rb check 127.0.0.1:7000    
>>> Performing Cluster Check (using node 127.0.0.1:7000)
M: f57c0d6d88a9c6be2bddeb4f2b3d9a2192b6e756 127.0.0.1:7000
   slots:0-5460 (5461 slots) master
   1 additional replica(s)
S: 324fc57a3cc7adc90ee505b96044cab535cf97c7 192.168.11.243:7003
   slots: (0 slots) slave
   replicates d395a617fa5fced78ec4fb8f612cefcdca486fa5
M: d395a617fa5fced78ec4fb8f612cefcdca486fa5 192.168.11.244:7002
   slots:5461-10922 (5462 slots) master
   1 additional replica(s)
M: ec4ada841b490672c3dbea6a620f4572ff0aa898 192.168.11.244:7001
   slots:10923-16383 (5461 slots) master
   1 additional replica(s)
S: 7479fffffb37d5a9a02bd0d8d45dcae5a62bda53 192.168.11.243:7004
   slots: (0 slots) slave
   replicates ec4ada841b490672c3dbea6a620f4572ff0aa898
S: b1785b0daee0dafa4a2210ca69ffb8a6d14939e0 192.168.11.243:7005
   slots: (0 slots) slave
   replicates f57c0d6d88a9c6be2bddeb4f2b3d9a2192b6e756
[ERR] Nodes don't agree about configuration!
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

提示[ERR] Nodes don't agree about configuration!

./redis-cli -p 7000  cluster meet 192.168.11.244 7001
./redis-cli -p 7000  cluster meet 192.168.11.244 7002
./redis-cli -p 7000  cluster meet 192.168.11.244 7003
./redis-cli -p 7000  cluster meet 192.168.11.244 7004
./redis-cli -p 7000  cluster meet 192.168.11.244 7005

ok至此问题解决

温馨提示:
Redis4.x上面的cluster命令基本上都仍可以在redis5.0.x正常使用。 但是redis5.0.x上redis-trib.rb工具不再可用,redis-trib.rb相关的全部功能,已迁移到redis-cli --cluster命令上了。

参考:redis阅读扩展

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

少陽君

谢谢老板的拿铁

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值