1、查看错误信息:

1.1 错误信息(1)

  1. 127.0.0.1:7000> get name
  2. (error) CLUSTERDOWN The cluster is down
  3. 127.0.0.1:7000> cluster info
  4. cluster_state:fail
  5. cluster_slots_assigned:16380
  6. cluster_slots_ok:16380
  7. cluster_slots_pfail:0
  8. cluster_slots_fail:0
  9. cluster_known_nodes:6
  10. cluster_size:3
  11. cluster_current_epoch:8
  12. cluster_my_epoch:1
  13. cluster_stats_messages_sent:1007
  14. cluster_stats_messages_received:1005

1.2 错误信息(2)

  1. 127.0.0.1:7000> cluster slots
  2. 1) 1) (integer) 0
  3. 2) (integer) 5460
  4. 3) 1) "127.0.0.1"
  5. 2) (integer) 7000
  6. 3) "09d1ad8d8aa8acd0ca2b95206c58901e47318ec9"
  7. 4) 1) "127.0.0.1"
  8. 2) (integer) 7004
  9. 3) "3b6910a3cf76025564d9f744f64ffa3a3b35fbc8"
  10. 2) 1) (integer) 10923
  11. 2) (integer) 11991
  12. 3) 1) "127.0.0.1"
  13. 2) (integer) 7002
  14. 3) "9b7110678b6eef4ae80c330eb0cfb51ffbc216ea"
  15. 4) 1) "127.0.0.1"
  16. 2) (integer) 7003
  17. 3) "7d0da6cebfa834177a189b9f71b048e8aeb29c49"
  18. 3) 1) (integer) 11993
  19. 2) (integer) 12381
  20. 3) 1) "127.0.0.1"
  21. 2) (integer) 7002
  22. 3) "9b7110678b6eef4ae80c330eb0cfb51ffbc216ea"
  23. 4) 1) "127.0.0.1"
  24. 2) (integer) 7003
  25. 3) "7d0da6cebfa834177a189b9f71b048e8aeb29c49"
  26. 4) 1) (integer) 12383
  27. 2) (integer) 14040
  28. 3) 1) "127.0.0.1"
  29. 2) (integer) 7002
  30. 3) "9b7110678b6eef4ae80c330eb0cfb51ffbc216ea"
  31. 4) 1) "127.0.0.1"
  32. 2) (integer) 7003
  33. 3) "7d0da6cebfa834177a189b9f71b048e8aeb29c49"
  34. 5) 1) (integer) 14042
  35. 2) (integer) 14385
  36. 3) 1) "127.0.0.1"
  37. 2) (integer) 7002
  38. 3) "9b7110678b6eef4ae80c330eb0cfb51ffbc216ea"
  39. 4) 1) "127.0.0.1"
  40. 2) (integer) 7003
  41. 3) "7d0da6cebfa834177a189b9f71b048e8aeb29c49"
  42. 6) 1) (integer) 14387
  43. 2) (integer) 16383
  44. 3) 1) "127.0.0.1"
  45. 2) (integer) 7002
  46. 3) "9b7110678b6eef4ae80c330eb0cfb51ffbc216ea"
  47. 4) 1) "127.0.0.1"
  48. 2) (integer) 7003
  49. 3) "7d0da6cebfa834177a189b9f71b048e8aeb29c49"
  50. 7) 1) (integer) 5461
  51. 2) (integer) 10922
  52. 3) 1) "127.0.0.1"
  53. 2) (integer) 7001
  54. 3) "caa158fcb538991c73438ca9801ab6ab2510e85a"
  55. 4) 1) "127.0.0.1"
  56. 2) (integer) 7005
  57. 3) "0fbf5cbddefe6ad2324a225d25447ff80b033b27"

2.分析错误信息
 2.1 从错误信息(1)中cluster_slots_assigned:16380看出少了4个slot,因为集群就是要满足所有的16364个槽点全部分配才会成功。
2.2 统计错误信息(2)

  1. 1) 0-5460     7000、7004
  2. 2)10923-11991     7002、7003
  3. 3)11993-12381     7002、7003
  4. 4)12383-14040     7002、7003
  5. 5)14042-14385     7002、7003
  6. 6)14387-16383     7002、7003
  7. 7) 5461-10922     7001、7005

找到缺少的slot分别为11992、12382、14041、14386

3.解决方法:
 3.1将一个或多个槽(slot)指派(assign)给当前节点

cluster addslots 11992 12382 14041 14386
3.2 显示结果:

  1. 127.0.0.1:7000> cluster addslots 11992 12382 14041 14386
  2. OK
  3. 127.0.0.1:7000> cluster info
  4. cluster_state:ok
  5. cluster_slots_assigned:16384
  6. cluster_slots_ok:16384
  7. cluster_slots_pfail:0
  8. cluster_slots_fail:0
  9. cluster_known_nodes:6
  10. cluster_size:3
  11. cluster_current_epoch:8
  12. cluster_my_epoch:1
  13. cluster_stats_messages_sent:42312

4、解决方法2:

  写shell脚本用cluster addslots命令吧1~16384所有槽点都添加一遍即可。对于已经存在的会说此槽点正在忙,所以不用担心重复添加。之后查看集群状态即为正常。

脚本如下:

  1. > /home/sw/2
  2. for ((i=1;i<=16384;i++));
  3. do
  4. echo "redis-cli -h 192.168.5.115 -p 7004 cluster addslots "${i} >> /home/sw/2
  5. done

#redis-cli -h 192.168.5.115 -p 7004 cluster addslots 1..16384

之后运行2脚本并且把日志打印到/home/sw/3:sh 2 |tee /home/sw/3 即可。

参考:https://blog.csdn.net/zsx18273117003/article/details/83414440

redis cluster info显示cluster_state:fail解决方案的更多相关文章

  1. 近千节点的Redis Cluster高可用集群案例:优酷蓝鲸优化实战(摘自高可用架构)

    (原创)2016-07-26 吴建超 高可用架构导读:Redis Cluster 作者建议的最大集群规模 1,000 节点,目前优酷在蓝鲸项目中管理了超过 700 台节点,积累了 Redis Clus ...

  2. redis cluster突然少了一个node的问题

    今天进入redis执行cluster info发现  cluster_state:fail  并且  cluster_known_nodes:5   少了一个7006的node 然后我重启了7006的 ...

  3. 全面剖析Redis Cluster原理和应用 (转)

    1.Redis Cluster总览 1.1 设计原则和初衷 在官方文档Cluster Spec中,作者详细介绍了Redis集群为什么要设计成现在的样子.最核心的目标有三个: 性能:这是Redis赖以生 ...

  4. 全面剖析Redis Cluster原理和应用 (good)

    redis redis cluster注意的问题 : 1.‘cluster-require-full-coverage’参数的设置.该参数是redis配置文件中cluster模式的一个参数,从字面上基 ...

  5. Redis Cluster部署、管理和测试

    背景: Redis 3.0之后支持了Cluster,大大增强了Redis水平扩展的能力.Redis Cluster是Redis官方的集群实现方案,在此之前已经有第三方Redis集群解决方案,如Twen ...

  6. 全面剖析Redis Cluster原理和应用

    全面剖析Redis Cluster原理和应用 1.Redis Cluster总览 1.1 设计原则和初衷 在官方文档Cluster Spec中,作者详细介绍了Redis集群为什么要设计成现在的样子.最 ...

  7. Redis Cluster集群知识学习总结

    Redis集群解决方案有两个: 1)  Twemproxy: 这是Twitter推出的解决方案,简单的说就是上层加个代理负责分发,属于client端集群方案,目前很多应用者都在采用的解决方案.Twem ...

  8. Redis cluster集群:原理及搭建

    Redis cluster集群:原理及搭建 2018年03月19日 16:00:55 阅读数:6120 1.为什么使用redis? redis是一种典型的no-sql 即非关系数据库 像python的 ...

  9. 【Redis】Redis cluster集群搭建

    Redis集群基本介绍 Redis 集群是一个可以在多个 Redis 节点之间进行数据共享的设施installation. Redis 集群不支持那些需要同时处理多个键的 Redis 命令, 因为执行 ...

随机推荐

  1. SpringBoot 中注解方式的拦截过滤

    使用场景 公司运行的App 登陆-验证码短信接口,遭到大量的恶意攻击.处于安全的考虑,需要客户端api目前的一些接口加上验证签名的功能,以提高安全性. 现行的App之前也有过签名的秘钥在,后来出于性能 ...

  2. 58同城Java面试

    总结这一次面试失败的不冤 很多知识,都是了解.知道,而没有做到明白与彻底的弄懂 差距还是比较大的 以后要多来写总结,提升自己,争取早日被认可 说说今天面试的主要内容和问题吧 希望大家集思广益 面试职位 ...

  3. 键盘鼠标共享效率工具----Synergy

    在日常工作中,为了提高工作效率以及用户体验,会一个主机接多个显示器,像程序员一般都是使用两块显示器. 然而,有很多人是和我一样,自己有多台电脑,两个笔记本.公司一个台式机,如何在台机器之间来回切换工作 ...

  4. Java_图片转字符

    把高达头像转换成字符[-V-] 调节双循环里y与x的增量改变字符输出的细节.高和长 public class ImgToStr { public static void main(String arg ...

  5. [每日一题2020.06.13]leetcode #739 #15 单调栈 双指针查找

    739 每日温度 ( 单调栈 ) 题目 : https://leetcode-cn.com/problems/daily-temperatures/ 题意 : 找到数组每一个元素之后第一个大于它的元素 ...

  6. FFT快速傅里叶变换的python实现

    FFT是DFT的高效算法,能够将时域信号转化到频域上,下面记录下一段用python实现的FFT代码. # encoding=utf-8 import numpy as np import pylab ...

  7. xutils工具上传日志文件--使用https并且带进度条显示

    package logback.ecmapplication.cetcs.com.myapplication; import android.app.Activity; import android. ...

  8. CountDownLatch 计数器

    这里我暂时只讲CountDownLatch的作用和怎么使用,至于他是怎么实现这种功能的,涉及源码,以后我再补上. 正文 什么是CountDownLatch? CountDownLatch是在java1 ...

  9. python黑帽子之tcp客户端

    在渗透测试过程中,我们经常会需要创建一个tcp客户端来连接服务,发送垃圾数据,进行模糊测试等任务,所以我们来用python创建一个简单的tcp客户端. import sockettarget_host ...

  10. Asp.net Core AOP实现(采用Autofac)

    引用正确的库来实现AOP 新的.NET Core是基于.NET Standard的..所以我们在引用库的时候特别要注意相关的兼容问题. 在传统的ASP.NET中,使用过Autofac来进行AOP操作的 ...