CLUSTERDOWN Hash slot not served问题复现

1、一主两从

172.31.4.18:6381> cluster nodes
f5e774bd5cd8f5bcba53f1297015f3245dd3f18c 172.31.4.20:6383@16383 master - 0 1726278342891 10 connected 5461-10922
9a79febbfb1d7a8f7a6ba3fb11e86b0f122f71e7 172.31.4.21:6386@16386 slave 401730ba6e1c2cd8b60243990f0965606edfc083 0 1726278344894 2 connected
23bb415a72cf125c8205be6b1de4f8f5a0a636c8 172.31.4.18:6381@16381 myself,master - 0 1726278336000 1 connected 0-5460
602fbfe65cf83178c0b897441013ec0bae590c96 172.31.4.20:6385@16385 slave 401730ba6e1c2cd8b60243990f0965606edfc083 0 1726278341890 2 connected
3dec7d5dd8139854f766417611026b07785c0a76 172.31.4.19:6382@16382 slave 23bb415a72cf125c8205be6b1de4f8f5a0a636c8 0 1726278342000 1 connected
83d609a16f5fc2605ff8fd698197533c6ad29334 172.31.4.18:6383@16383 master - 0 1726278343000 9 connected
401730ba6e1c2cd8b60243990f0965606edfc083 172.31.4.18:6385@16385 master - 0 1726278343000 2 connected 10923-16383
4e25e8f87029a22bbba7aa5f6fb2edba4a342da5 172.31.4.21:6384@16384 slave f5e774bd5cd8f5bcba53f1297015f3245dd3f18c 0 1726278343892 10 connected
172.31.4.18:6381> exit

2、从172.31.4.22上发4个并发

redis-benchmark -h 172.31.4.18 -p 6383 -a Redis_6.2.1_Sc -t set,get -e -c 4 -d 1 -n 100000000000000[cpcn@redis01 redis6383]$ netstat -anltp |grep 4.22
(Not all processes could be identified, non-owned process infowill not be shown, you would have to be root to see it all.)
tcp        0     31 172.31.4.18:6383        172.31.4.22:54100       ESTABLISHED 30548/redis-server  
tcp        0     31 172.31.4.18:6383        172.31.4.22:54098       ESTABLISHED 30548/redis-server  
tcp        0      7 172.31.4.18:6385        172.27.16.58:4422       ESTABLISHED 30559/redis-server  
tcp        0     31 172.31.4.18:6383        172.31.4.22:54102       ESTABLISHED 30548/redis-server  
tcp        0     31 172.31.4.18:6383        172.31.4.22:54096       ESTABLISHED 30548/redis-server  
tcp        0      0 172.31.4.18:16383       172.31.4.21:46224       ESTABLISHED 30548/redis-server  

3、172.31.4.18 6383 切为从,老链接还在:

172.31.4.18:6383> cluster failover takeover
OK
172.31.4.18:6383> cluster nodes
83d609a16f5fc2605ff8fd698197533c6ad29334 172.31.4.18:6383@16383 myself,slave f5e774bd5cd8f5bcba53f1297015f3245dd3f18c 0 1726278372000 10 connected
401730ba6e1c2cd8b60243990f0965606edfc083 172.31.4.18:6385@16385 master - 0 1726278374588 2 connected 10923-16383
4e25e8f87029a22bbba7aa5f6fb2edba4a342da5 172.31.4.21:6384@16384 slave f5e774bd5cd8f5bcba53f1297015f3245dd3f18c 0 1726278373587 10 connected
f5e774bd5cd8f5bcba53f1297015f3245dd3f18c 172.31.4.20:6383@16383 master - 0 1726278372840 10 connected 5461-10922
23bb415a72cf125c8205be6b1de4f8f5a0a636c8 172.31.4.18:6381@16381 master - 0 1726278371000 1 connected 0-5460
9a79febbfb1d7a8f7a6ba3fb11e86b0f122f71e7 172.31.4.21:6386@16386 slave 401730ba6e1c2cd8b60243990f0965606edfc083 0 1726278369000 2 connected
602fbfe65cf83178c0b897441013ec0bae590c96 172.31.4.20:6385@16385 slave 401730ba6e1c2cd8b60243990f0965606edfc083 0 1726278371000 2 connected
3dec7d5dd8139854f766417611026b07785c0a76 172.31.4.19:6382@16382 slave 23bb415a72cf125c8205be6b1de4f8f5a0a636c8 0 1726278370582 1 connected
172.31.4.18:6383> 

4、将 172.31.4.18 6383 下线,该进程还在,老链接还在。

[cpcn@redis01 redis6381]$ ./bin/redis-cli -a Redis_6.2.1_Sc --cluster del-node 172.31.4.18:6383 83d609a16f5fc2605ff8fd698197533c6ad29334
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
>>> Removing node 83d609a16f5fc2605ff8fd698197533c6ad29334 from cluster 172.31.4.18:6383
>>> Sending CLUSTER FORGET messages to the cluster...
>>> Sending CLUSTER RESET SOFT to the deleted node.[cpcn@redis01 redis6383]$ ps -ef |grep redis
avahi     1161     1  0 Sep12 ?        00:00:00 avahi-daemon: running [redis01.local]
cpcn     30529     1  7 09:07 ?        00:03:50 /usr/local/redis6381/bin/redis-server 172.31.4.18:6381 [cluster]
cpcn     30559     1  8 09:07 ?        00:03:57 /usr/local/redis6385/bin/redis-server 172.31.4.18:6385 [cluster]
cpcn     31308     1  0 09:57 ?        00:00:00 /usr/local/redis6383/bin/redis-server 172.31.4.18:6383 [cluster]
cpcn     31314 29933  0 09:57 pts/1    00:00:00 grep --color=auto redis[cpcn@redis01 redis6383]$ netstat -anltp |grep 4.22
(Not all processes could be identified, non-owned process infowill not be shown, you would have to be root to see it all.)
tcp        0     31 172.31.4.18:6383        172.31.4.22:54100       ESTABLISHED 30548/redis-server  
tcp        0     31 172.31.4.18:6383        172.31.4.22:54098       ESTABLISHED 30548/redis-server  
tcp        0      7 172.31.4.18:6385        172.27.16.58:4422       ESTABLISHED 30559/redis-server  
tcp        0     31 172.31.4.18:6383        172.31.4.22:54102       ESTABLISHED 30548/redis-server  
tcp        0     31 172.31.4.18:6383        172.31.4.22:54096       ESTABLISHED 30548/redis-server  
tcp        0      0 172.31.4.18:16383       172.31.4.21:46224       ESTABLISHED 30548/redis-server  172.31.4.18:6383> cluster nodes
83d609a16f5fc2605ff8fd698197533c6ad29334 172.31.4.18:6383@16383 myself,master - 0 1726278605000 11 connected
172.31.4.18:6383> 

5、下线 172.31.4.18 6383 集群信息:

172.31.4.20:6383> cluster nodes
401730ba6e1c2cd8b60243990f0965606edfc083 172.31.4.18:6385@16385 master - 0 1726277099000 2 connected 10923-16383
4e25e8f87029a22bbba7aa5f6fb2edba4a342da5 172.31.4.21:6384@16384 slave f5e774bd5cd8f5bcba53f1297015f3245dd3f18c 0 1726277098872 8 connected
23bb415a72cf125c8205be6b1de4f8f5a0a636c8 172.31.4.18:6381@16381 master - 0 1726277099874 1 connected 0-5460
602fbfe65cf83178c0b897441013ec0bae590c96 172.31.4.20:6385@16385 slave 401730ba6e1c2cd8b60243990f0965606edfc083 0 1726277098000 2 connected
9a79febbfb1d7a8f7a6ba3fb11e86b0f122f71e7 172.31.4.21:6386@16386 slave 401730ba6e1c2cd8b60243990f0965606edfc083 0 1726277097871 2 connected
f5e774bd5cd8f5bcba53f1297015f3245dd3f18c 172.31.4.20:6383@16383 myself,master - 0 1726277096000 8 connected 5461-10922
3dec7d5dd8139854f766417611026b07785c0a76 172.31.4.19:6382@16382 slave 23bb415a72cf125c8205be6b1de4f8f5a0a636c8 0 1726277097000 1 connected
172.31.4.20:6383> 

此时的状态,下线172.31.4.18 6383,该进程还在,老链接还在。172.31.4.22上并发过的链接 报槽位错误:

Error from server: CLUSTERDOWN Hash slot not served(overall: 0.244)
Error from server: CLUSTERDOWN Hash slot not served(overall: 0.244)
Error from server: CLUSTERDOWN Hash slot not served(overall: 0.244)

6、解决的办法,是尽快关闭下线的 redis 进程:

172.31.4.18:6383> cluster nodes
83d609a16f5fc2605ff8fd698197533c6ad29334 172.31.4.18:6383@16383 myself,master - 0 1726278605000 11 connected
172.31.4.18:6383> 
172.31.4.18:6383> 
172.31.4.18:6383> shutdown
not connected> exit
[cpcn@redis01 redis6383]$ 
[cpcn@redis01 redis6383]$ 
[cpcn@redis01 redis6383]$ ps -ef |grep redis
avahi     1161     1  0 Sep12 ?        00:00:00 avahi-daemon: running [redis01.local]
cpcn     30529     1  7 09:07 ?        00:03:49 /usr/local/redis6381/bin/redis-server 172.31.4.18:6381 [cluster]
cpcn     30559     1  8 09:07 ?        00:03:56 /usr/local/redis6385/bin/redis-server 172.31.4.18:6385 [cluster]
cpcn     31302 29933  0 09:57 pts/1    00:00:00 grep --color=auto redis

此时172.31.4.22上并发过的链接中断,4.22上的redis-benchmark进程中断,报:

报:

Error from server: CLUSTERDOWN Hash slot not served(overall: 0.237)
Error: Server closed the connection avg_msec=0.240 (overall: 0.238)
[cpcn@redis003 bin]$ [cpcn@redis003 bin]$ 
[cpcn@redis003 bin]$ ps -ef |grep redis
cpcn      67809  67655  0 10:08 pts/0    00:00:00 grep --color=auto redis
[cpcn@redis003 bin]$ 

附:连接日志:

[cpcn@redis003 bin]$ redis-benchmark -h 172.31.4.18 -p 6383 -a Redis_6.2.1_Sc -t set,get -e -c 4 -d 1 -n 100000000000000
Error from server: MOVED 13782 172.31.4.18:6385rall: -nan)
Error from server: MOVED 13782 172.31.4.18:6385
Error from server: MOVED 13782 172.31.4.18:6385242 (overall: 0.226)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/54156.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++设计模式(更新中)

文章目录 1、创建型模式1.1 简单工厂(Simple Factory)(1)示例(2)总结 1.2 工厂方法(Factory Method)(1)示例(2)总结 1.3 抽象工厂&…

PL/SQL程序设计入门

PL/SQL程序设计 PL/SQL起步鼻祖:hello World语法分析声明部分举例 应用举例 PL/SQL 起步鼻祖:hello World 先举个例子,用PL/SQL打印输出hello world declarev_string varchar2(20); beginv_string:hello world;dbms_output.put_line(v_str…

Sass实现文字两侧横线及Sass常用方案

Sass常用方案及Sass实现文字两侧横线 1.Sass实现文字两侧横线2.用Sass简化媒体查询3.使用继承占位符实现样式复用4.Sass 模块化5.lighten 和 darken 自我记录 1.Sass实现文字两侧横线 mixin 的基本作用: 代码复用:把常用的样式封装在一起,…

Java如何扫描指定包下所有类?

Java如何扫描指定包下所有类? Java8、jdk8、idea、反射、class背景 每次写算法题时,总觉得测试代码写起来又没营养又很麻烦,即便是借助junit测试框架也很麻烦,太重了。 正好在学习spring过程中接触到注解,研究其原理…

SpringCloud-04 OpenFeign服务调用与负载均衡

OpenFeign是一个声明式、模板化的HTTP客户端,它简化了在Java应用程序中调用RESTful API的过程。OpenFeign是Netflix开发的一个开源项目,它构建在Feign的基础上,为开发者提供了更加简单、灵活的方式来实现HTTP请求。OpenFeign的特点包括&#…

地平线秋招2025

【地平线秋招】 中秋卷起来!!! 内推码 kbrfck 内推码 kbrfck 内推码 kbrfck 投递链接:https://wecruit.hotjob.cn/SU62d915040dcad43c775ec12c/mc/position/campus?acotycoCodekbrfck&recruitType1&isLimitShowPostScope…

深入剖析:C++类对象的内存布局与优化

深入剖析:C类对象的内存布局与优化 引言 在C编程中,理解类对象的内存布局对于优化内存使用和提高程序性能至关重要。本文将详细介绍C类对象的内存布局,包括数据成员、虚函数表指针以及静态变量和静态方法在内存中的位置。通过这些知识&…

【Google Chrome Windows 64 version及 WebDriver 版本】

最近升级到最新版本Chrome后发现页面居然显示错乱实在无语, 打算退回原来的版本, 又发现官方只提供最新的版本下载, 为了解决这个问题所有收集了Chrome历史版本的下载地址分享给大家. Google Chrome Windows version 64 位 VersionSize下载地址Date104.0.5112.10282.76 MBhtt…

MySQL从入门到精通二

第1章:MySQL基础 1.1运算符 1.1.1 算术运算符 算术运算符是MySQL中最常用的一类运算符。MySQL支持的算术运算符包括加、减、乘、除、求余。 算术运算符 符号作用符号作用加法运算%求余运算-减法运算DIV除法运算*乘法运算MOD求余运算,返回余数/除法运算…

Python|基于Kimi大模型,删除已上传的“指定文档”或“全部文档”(6)

前言 本文是该专栏的第6篇,后面会持续分享AI大模型干货知识,记得关注。 在本专栏上一篇《Python|基于Kimi大模型,实现上传文档并进行对话(5)》中,笔者有详细介绍“基于kimi大模型,上传指定文档并结合prompt,获取目标文本数据”。对此感兴趣的同学,可以直接点击翻阅查…

【洛谷】P3743 小鸟的设备 的题解

【洛谷】P3743 小鸟的设备 的题解 题目传送门 题解 水一道二分 qaq 刚开始考虑的是动态规划,但是动态规划并不能维护题目所要求的东西。所以我们将思路转向另一种求最值问题的方法:二分答案。 首先,如果一个设备在 t t t 的时间内消耗的…

Redis事件循环与网络通信机制详解

探索 Redis 底层设计:事件循环与网络通信机制 一、引言 Redis 作为一款高性能的内存数据库,其底层设计中的事件循环与网络通信机制起着至关重要的作用。这些机制使得 Redis 能够高效地处理大量的并发连接,快速响应客户端请求,并在不同的操作系统上实现良好的性能表现。 …

Java虚拟机:类的加载机制

大家好,我是栗筝i,这篇文章是我的 “栗筝i 的 Java 技术栈” 专栏的第 034 篇文章,在 “栗筝i 的 Java 技术栈” 这个专栏中我会持续为大家更新 Java 技术相关全套技术栈内容。专栏的主要目标是已经有一定 Java 开发经验,并希望进一步完善自己对整个 Java 技术体系来充实自…

深度学习速通系列:命名实体识别

命名实体识别(NER)是自然语言处理(NLP)中的一项基础技术,它能够从文本中识别出具有特定意义的实体,如人名、地名、组织名等。NER在信息提取、问答系统、句法分析、机器翻译等领域有着广泛的应用。 NER的技…

STL相关简介

string 看到这个词,相信大家一定都很好奇什么是string,它有什么作用呢?今天,就让我们一起来了解一下关于string的简介吧~ 目录 string 1. 什么是STL 2. STL的版本 3. STL的六大组件 4. STL的重要性 5. 如何学习STL 6.STL的…

Unity实战案例全解析 :PVZ 植物脚本分析

植物都继承了Pants脚本,但是我因为没注意听讲,把Pants也挂在植物上了,所以子类的PlantEnableUpdate和PlantDisableUpdate抢不过父类,无法正确触发动画,我还找不到哪里出了问题,所以就使用了携程加while强行…

【裸机装机系列】3.kali(ubuntu)-更新sources.list并重启

当装机并重启计算机后,暂时还不能使用,需要更新源并下载软件 1、更新软件源 1> 切换root使用命令 sudo su root 进入界面后,是你自己的账户,不是root账户,这里的操作是需要进入root账户进行操作的,否…

bpf的了解以及bpftrace的简单练习

最近接触到bpf的概念,简单做一些练习,做以下整理,学习笔记。 0:总结 使用ebpf可以实现的功能打开新世界,可以不改变源码的情况下,实现内存,网络,对应接口等各种期望内容的监控。 …

王者荣耀改重复名(java源码)

王者荣耀改重复名 项目简介 “王者荣耀改重复名”是一个基于 Spring Boot 的应用程序,用于生成王者荣耀游戏中的唯一名称。通过简单的接口和前端页面,用户可以输入旧名称并获得一个新的、不重复的名称。 功能特点 生成新名称:提供一个接口…

C++基础知识7 list

list 1. list的介绍及使用1.1 list的介绍1.2 list的使用1.2.1 list的构造1.2.2 list iterator的使用1.2.3 list capacity1.2.4 list element access1.2.5 list modifiers1.2.6 list的迭代器失效 2.1 模拟实现list 1. list的介绍及使用 1.1 list的介绍 1.2 list的使用 1.2.1 l…