redis cluster info显示cluster_state:fail解决方案
1、查看错误信息:
1.1 错误信息(1)
- 127.0.0.1:7000> get name
- (error) CLUSTERDOWN The cluster is down
- 127.0.0.1:7000> cluster info
- cluster_state:fail
- cluster_slots_assigned:16380
- cluster_slots_ok:16380
- cluster_slots_pfail:0
- cluster_slots_fail:0
- cluster_known_nodes:6
- cluster_size:3
- cluster_current_epoch:8
- cluster_my_epoch:1
- cluster_stats_messages_sent:1007
- cluster_stats_messages_received:1005
1.2 错误信息(2)
- 127.0.0.1:7000> cluster slots
- 1) 1) (integer) 0
- 2) (integer) 5460
- 3) 1) "127.0.0.1"
- 2) (integer) 7000
- 3) "09d1ad8d8aa8acd0ca2b95206c58901e47318ec9"
- 4) 1) "127.0.0.1"
- 2) (integer) 7004
- 3) "3b6910a3cf76025564d9f744f64ffa3a3b35fbc8"
- 2) 1) (integer) 10923
- 2) (integer) 11991
- 3) 1) "127.0.0.1"
- 2) (integer) 7002
- 3) "9b7110678b6eef4ae80c330eb0cfb51ffbc216ea"
- 4) 1) "127.0.0.1"
- 2) (integer) 7003
- 3) "7d0da6cebfa834177a189b9f71b048e8aeb29c49"
- 3) 1) (integer) 11993
- 2) (integer) 12381
- 3) 1) "127.0.0.1"
- 2) (integer) 7002
- 3) "9b7110678b6eef4ae80c330eb0cfb51ffbc216ea"
- 4) 1) "127.0.0.1"
- 2) (integer) 7003
- 3) "7d0da6cebfa834177a189b9f71b048e8aeb29c49"
- 4) 1) (integer) 12383
- 2) (integer) 14040
- 3) 1) "127.0.0.1"
- 2) (integer) 7002
- 3) "9b7110678b6eef4ae80c330eb0cfb51ffbc216ea"
- 4) 1) "127.0.0.1"
- 2) (integer) 7003
- 3) "7d0da6cebfa834177a189b9f71b048e8aeb29c49"
- 5) 1) (integer) 14042
- 2) (integer) 14385
- 3) 1) "127.0.0.1"
- 2) (integer) 7002
- 3) "9b7110678b6eef4ae80c330eb0cfb51ffbc216ea"
- 4) 1) "127.0.0.1"
- 2) (integer) 7003
- 3) "7d0da6cebfa834177a189b9f71b048e8aeb29c49"
- 6) 1) (integer) 14387
- 2) (integer) 16383
- 3) 1) "127.0.0.1"
- 2) (integer) 7002
- 3) "9b7110678b6eef4ae80c330eb0cfb51ffbc216ea"
- 4) 1) "127.0.0.1"
- 2) (integer) 7003
- 3) "7d0da6cebfa834177a189b9f71b048e8aeb29c49"
- 7) 1) (integer) 5461
- 2) (integer) 10922
- 3) 1) "127.0.0.1"
- 2) (integer) 7001
- 3) "caa158fcb538991c73438ca9801ab6ab2510e85a"
- 4) 1) "127.0.0.1"
- 2) (integer) 7005
- 3) "0fbf5cbddefe6ad2324a225d25447ff80b033b27"
2.分析错误信息
2.1 从错误信息(1)中cluster_slots_assigned:16380看出少了4个slot,因为集群就是要满足所有的16364个槽点全部分配才会成功。
2.2 统计错误信息(2)
- 1) 0-5460 7000、7004
- 2)10923-11991 7002、7003
- 3)11993-12381 7002、7003
- 4)12383-14040 7002、7003
- 5)14042-14385 7002、7003
- 6)14387-16383 7002、7003
- 7) 5461-10922 7001、7005
找到缺少的slot分别为11992、12382、14041、14386
3.解决方法:
3.1将一个或多个槽(slot)指派(assign)给当前节点
cluster addslots 11992 12382 14041 14386
3.2 显示结果:
- 127.0.0.1:7000> cluster addslots 11992 12382 14041 14386
- OK
- 127.0.0.1:7000> cluster info
- cluster_state:ok
- cluster_slots_assigned:16384
- cluster_slots_ok:16384
- cluster_slots_pfail:0
- cluster_slots_fail:0
- cluster_known_nodes:6
- cluster_size:3
- cluster_current_epoch:8
- cluster_my_epoch:1
- cluster_stats_messages_sent:42312
4、解决方法2:
写shell脚本用cluster addslots命令吧1~16384所有槽点都添加一遍即可。对于已经存在的会说此槽点正在忙,所以不用担心重复添加。之后查看集群状态即为正常。
脚本如下:
- > /home/sw/2
- for ((i=1;i<=16384;i++));
- do
- echo "redis-cli -h 192.168.5.115 -p 7004 cluster addslots "${i} >> /home/sw/2
- 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解决方案的更多相关文章
- 近千节点的Redis Cluster高可用集群案例:优酷蓝鲸优化实战(摘自高可用架构)
(原创)2016-07-26 吴建超 高可用架构导读:Redis Cluster 作者建议的最大集群规模 1,000 节点,目前优酷在蓝鲸项目中管理了超过 700 台节点,积累了 Redis Clus ...
- redis cluster突然少了一个node的问题
今天进入redis执行cluster info发现 cluster_state:fail 并且 cluster_known_nodes:5 少了一个7006的node 然后我重启了7006的 ...
- 全面剖析Redis Cluster原理和应用 (转)
1.Redis Cluster总览 1.1 设计原则和初衷 在官方文档Cluster Spec中,作者详细介绍了Redis集群为什么要设计成现在的样子.最核心的目标有三个: 性能:这是Redis赖以生 ...
- 全面剖析Redis Cluster原理和应用 (good)
redis redis cluster注意的问题 : 1.‘cluster-require-full-coverage’参数的设置.该参数是redis配置文件中cluster模式的一个参数,从字面上基 ...
- Redis Cluster部署、管理和测试
背景: Redis 3.0之后支持了Cluster,大大增强了Redis水平扩展的能力.Redis Cluster是Redis官方的集群实现方案,在此之前已经有第三方Redis集群解决方案,如Twen ...
- 全面剖析Redis Cluster原理和应用
全面剖析Redis Cluster原理和应用 1.Redis Cluster总览 1.1 设计原则和初衷 在官方文档Cluster Spec中,作者详细介绍了Redis集群为什么要设计成现在的样子.最 ...
- Redis Cluster集群知识学习总结
Redis集群解决方案有两个: 1) Twemproxy: 这是Twitter推出的解决方案,简单的说就是上层加个代理负责分发,属于client端集群方案,目前很多应用者都在采用的解决方案.Twem ...
- Redis cluster集群:原理及搭建
Redis cluster集群:原理及搭建 2018年03月19日 16:00:55 阅读数:6120 1.为什么使用redis? redis是一种典型的no-sql 即非关系数据库 像python的 ...
- 【Redis】Redis cluster集群搭建
Redis集群基本介绍 Redis 集群是一个可以在多个 Redis 节点之间进行数据共享的设施installation. Redis 集群不支持那些需要同时处理多个键的 Redis 命令, 因为执行 ...
随机推荐
- Python惯用法
目录 1. 不要使用可变类型作为参数的默认值 1. 不要使用可变类型作为参数的默认值 摘自<流畅的Python>8.4.1 class HauntedBus: ""&q ...
- 将MySQL库的表转入到MSSQL中的某个库中(Employees下的Employees表 → pubs库下)_2
将MySQL库的表转入到MSSQL中的某个库中(Employees下的Employees表 → pubs库下, 此pubs下的表名是employee,不冲突),方法大致以下几个(另有其他方法待补充), ...
- Dart Memo for Android Developers
Dart Memo for Android Developers Dart语言一些语法特点和编程规范. 本文适合: 日常使用Kotlin, 突然想写个Flutter程序的Android程序员. Dar ...
- 命令中"|"的意义
管道命令,是指 | 的左边运行结果是|右边的输入条件或者范围.如:history | grep date指从history这条命令运行的结果中显示包含有 “date” 的命令 下面举一个例子: 这是运 ...
- C++ 进阶 模板和STL
C++提高编程 本阶段主要针对C++泛型编程和STL技术做详细讲解,探讨C++更深层的使用 1 模板 1.1 模板的概念 模板就是建立通用的模具,大大提高复用性 模板的特点: 模板不可以直接使用,它只 ...
- 移动 Ubuntu16.04 桌面左侧的启动器到屏幕底部_设置方法
通过命令行,对 Launcher 的位置进行一下调整. 按下 Ctrl + Alt + t 键盘组合键,调出终端,在终端中输入以下命令: gsettings set com.canonical.Uni ...
- Java | 静态嵌套类(Static Nested Class)
前言 本文内容主要来自 Java 官方教程中的<嵌套类>章节. 本文提供的是 JDK 14 的示例代码. 定义 静态嵌套类(Static Nested Class),是 Java 中对类的 ...
- 虚拟机VMware克隆之后网络不可用的解决办法
现在有两台虚拟机,113是111的克隆,要让113能够使用,需要做下面的修改 5.解决办法5.1.修改克隆后机器(B机器)70-persistent-net.rules文件内容 对克隆后机器(B机器) ...
- 蒲公英 · JELLY技术周刊 Vol.12 尤雨溪新作 Vite, 你会支持么?
「蒲公英」期刊,每周更新,我们专注于挖掘「基础技术.工程化.跨端框架技术.图形编程.服务端开发.桌面开发.人工智能」等多个大方向的业界热点,并加以专业的解读:不仅如此,我们还精选凹凸技术文章,向大家呈 ...
- EDM邮件制作
EDM营销(Email Direct Marketing)也叫:Email营销.电子邮件营销.是指企业向目标客户发送EDM邮件,建立同目标顾客的沟通渠道,向其直接传达相关信息,用来促进销售的一种营销手 ...