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


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


 /my_soft/Redis安装包及jar包/redis-3.0.4/src 目录下

执行redis 集群安装命令:

  1. ./redis-trib.rb create –replicas 0 192.168.3.15:6379 192.168.3.15:6380 192.168.3.15:6381  
./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  就可以了。

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

  1. ./redis-trib.rb create –replicas 0 192.168.3.15:6379 192.168.3.15:6380 192.168.3.15:6381   
./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安装包及jar包/redis-3.0.4/src 目录 下执行check脚本:


  1. //依次执行了下面的脚本  
  2. ./redis-trib.rb check 192.168.3.15:6379  
  3. ./redis-trib.rb check 192.168.3.15:6380  
  4. ./redis-trib.rb check 192.168.3.15:6381  
//依次执行了下面的脚本
./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 执行下面的命令:

  1. ./redis-trib.rb fix 192.168.3.15:6379  
./redis-trib.rb fix 192.168.3.15:6379


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

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

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

  1. /usr/local/bin/redis-server  /my_soft/my_config/redis3/6379/redis.conf  
/usr/local/bin/redis-server  /my_soft/my_config/redis3/6379/redis.conf
重启后,6379节点自动重新加入集成。

查看各节点的情况:

  1. /usr/local/bin/redis-cli -p 6379  
  2. /usr/local/bin/redis-cli -p 6380  
  3. /usr/local/bin/redis-cli -p 6381  
/usr/local/bin/redis-cli -p 6379
/usr/local/bin/redis-cli -p 6380
/usr/local/bin/redis-cli -p 6381
使用上面的任意一条命令,登录任意一个节点:

查看集群节点的情况:

  1. cluster nodes  
cluster nodes



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

  1. ps -ef |grep redis  
ps -ef |grep redis






Redis集群的监控是确保集群运行稳定并实获取性能指标的重要任务。在监控Redis集群,需要关注以下几个指标: 1. 内存占用(used_memory): 通过监控内存占用情况,可以了解Redis集群当前的内存使用情况,避免内存溢出导致性能问题。 2. 每秒请求量(QPS): 监控每秒请求量可以帮助我们了解Redis集群的负载情况,及发现请求过载或者异常请求。 3. 连接客户数(connected_clients): 通过监控连接客户数,可以了解当前有多少个客户端连接Redis集群,从而评估集群的请求压力和连接数的变化趋势。 4. 阻塞连接数(blocked_clients): 监控阻塞连接数可以帮助我们发现由于请求过多而导致的连接阻塞情况,及采取措施避免影响Redis集群的正常运行。 5. 主从角色(role): 监控主从角色可以了解Redis集群中各个节点的角色分布情况,及发现主节点的故障或者切换。 通过监控这些指标,我们可以及发现Redis集群问题,预防性能下降或者故障发生,并采取相应的措施解决问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [redis集群的远程管理与监控](https://blog.csdn.net/marko39/article/details/79678331)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [使用redis-exporter对redis集群进行性能监控](https://blog.csdn.net/web18296061989/article/details/124104697)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值