redis集群时,出现的几个异常问题

当前 redis 的部署情况是:

192.168.3.15:6379

192.168.3.15:6380

192.168.3.15:6381

 

1、in `call': ERR Slot 8579 is already busy (Redis::CommandError)

 

 /my_soft/redis/redis-3.0.4/src 目录下

执行redis 集群安装命令:

./redis-trib.rb create --replicas 0 192.168.3.15:6379 192.168.3.15:6380 192.168.3.15:6381

 命令时,出现了

 

in `call': ERR Slot 8579 is already busy (Redis::CommandError)

如下图所示:

错误提示是

      slot插槽被占用了(这是 搭建集群前时,以前redis的旧数据和配置信息没有清理干净。)

解决方案是

          用redis-cli 登录到每个节点执行  flushall  和 cluster reset  就可以了。

然后重新执行群集脚本命令:

 

./redis-trib.rb create --replicas 0 192.168.3.15:6379 192.168.3.15:6380 192.168.3.15:6381 

 

 

2、[ERR] Not all 16384 slots are covered by nodes.


redis群集搭建成功后,6379节点莫名其的宕机,重启了几次,一会儿就又宕机了。

 /my_soft/redis/redis-3.0.4/src 目录 下执行check脚本:

 

//依次执行了下面的脚本
./redis-trib.rb check 192.168.3.15:6379
./redis-trib.rb check 192.168.3.15:6380
./redis-trib.rb check 192.168.3.15:6381

其中,6379节点出现了:[ERR] Not all 16384 slots are covered by nodes. 如下图所示:

 


slot插槽出问题了,修复slot 执行下面的命令:

 

./redis-trib.rb fix 192.168.3.15:6379

 

当然了,我们也可以把6380、6381节点都修复一下:

 

 

./redis-trib.rb fix 192.168.3.15:6380
./redis-trib.rb fix 192.168.3.15:6381

 

修改完毕后,重启6379节点,

/usr/local/bin/redis-server  /my_soft/my_config/redis3/6379/redis.conf

重启后,6379节点自动重新加入集成。

 

查看各节点的情况:

 

/usr/local/bin/redis-cli -p 6379
/usr/local/bin/redis-cli -p 6380
/usr/local/bin/redis-cli -p 6381

使用上面的任意一条命令,登录任意一个节点:

 

查看集群节点的情况:

 

cluster nodes

 


我们也可以使用linux的通用命令来查看

 

ps -ef |grep redis

 

 

 

 

 

 


 

 

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值