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 命令, 因为执行 ...
随机推荐
- 使用JFreeChart生成条形图
1. 准备工作 下载JFreeChart,我使用的版本为1.0.19,相关内容参见JFreeChart,下载链接为https://sourceforge.net/projects/jfreechart ...
- Vue结合路由配置递归实现菜单栏
作者:小土豆biubiubiu 博客园:https://www.cnblogs.com/HouJiao/ 掘金:https://juejin.im/user/58c61b4361ff4b005d9e8 ...
- Canvas 画布 H5
前言: canvas 元素用于在网页上绘制图形. canvas 本身是一个标签,<canvas>标签定义图形,必须使用脚本来绘制图形,比如在画布上(Canvas)画一个红色矩形,渐变矩形, ...
- CODING DevOps 系列第一课:基于开源工具链打造持续交付平台
当下软件发展趋势 当今 IT 行业发展中比较流行的几个技术,首先是微服务化,将原有的一个系统拆分成多个,意味着有多个系统需要构建.测试.部署和运维. 第二个是敏捷开发模式,需求粒度更细化,要求一个可独 ...
- c++深复制与浅复制区别代码示范vs2015-txwtech
c++深复制与浅复制区别代码示范vs2015-txwtech c++深复制与浅复制区别代码示范 区别: 深复制: CDemo B = A; B.str[0] = 'K';//B对象里面的元素修改后,A ...
- demo项目开发(Python+flask+mysql+redis只包含后端接口)
[demo项目开发需求] 用户信息管理,可以注册.登录.添加用户.删除用户 注册:任何用户可以注册,对用户提交的注册信息进行校验,返回对应的信息,其中: 用户名:必填,唯一 密码:必填,只能6-12位 ...
- LeetCode 80,不使用外部空间的情况下对有序数组去重
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是LeetCode专题的第49篇文章,我们一起来看LeetCode的第80题,有序数组去重II(Remove Duplicates fr ...
- 为Linux主机安装图形化桌面环境
本文主要介绍在Linux实例中,centos 7 以及ubutun 14如何安装图形化桌面环境. CentOS 7 此处以安装MATE桌面环境为例,步骤如下. 说明:在安装重启后,如果卡在启动页面,需 ...
- 如何在Vim中更改颜色和主题
大家好,我是良许. Vim是我们在Linux中非常常用的一款文本编辑器.Vim 是一款免费.开源的文本编辑器,它的功能和许多其他的文本编辑器大致相同,比如 Sublime 和 Notepad++ .V ...
- 路由网关(Zuul)
上一篇已经讲了微服务组件中的 分布式配置中心,本章讲述 由JAVA编写的服务路由网关Zuul… - Zuul 路由是微服务体系结构的一个组成部分.例如 / 可以映射到您的Web应用程序,/api/us ...