获取redis cluster master对应的slot分布情况
需求:原生的redis-trib.rb功能是强大,但输出的内容过于繁杂,比如我需要关注哪些master对应哪些slots,不是很直观,如果集群的规模更大的话,那么输出的结果获取信息更加困难。
说明:这里给出一种方法,是在4.0.10版上测试的 ,3.X版本分隔符不一样,这里不进一步说明。
原生的输出
[redis@lxd-vm3 ~]$ redis-trib.rb check 5.5.5.101:29001
>>> Performing Cluster Check (using node 5.5.5.101:29001)
M: 1adfa7f3e80c47d5bd3072e9d07c1b2bcc8ef4a1 5.5.5.101:29001
slots:2500-3000,3002-3299,3301-5461,6829-7646,12291-13108 (4596 slots) master
1 additional replica(s)
S: 6178b88137d2dd621f5445f13faa9936b300333a 5.5.5.102:29004
slots: (0 slots) slave
replicates 32fc101a2920c98f279a31292ace9ff3aeaa35a3
M: 32fc101a2920c98f279a31292ace9ff3aeaa35a3 5.5.5.101:29004
slots:824-1382,2200-2499,3001,5462-6828,10923-12290 (3595 slots) master
1 additional replica(s)
S: c27b170791473946085c85c6fa7c163b24efe6e0 5.5.5.102:29001
slots: (0 slots) slave
replicates 1adfa7f3e80c47d5bd3072e9d07c1b2bcc8ef4a1
S: cb88f415e0dc61616e1ed861a00aa8416dd6dd3f 5.5.5.101:29003
slots: (0 slots) slave
replicates 31ba5414196da8b6ed8e0640472d3870d5f6f591
M: 76a8592df53de4d45fb66fa8e48ef9fb0991ae14 5.5.5.102:29002
slots:821-823,1383-2199,7647-10922 (4096 slots) master
1 additional replica(s)
S: 723bfff7241ab8abfc46eeea280d673f84311056 5.5.5.103:29002
slots: (0 slots) slave
replicates 76a8592df53de4d45fb66fa8e48ef9fb0991ae14
M: 31ba5414196da8b6ed8e0640472d3870d5f6f591 5.5.5.103:29003
slots:0-820,3300,13109-16383 (4097 slots) master
1 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
编写脚本获取需要的
[redis@lxd-vm3 redis]$ cat get_slot_range2.sh
redis-cli -h $1 -p $2 -c cluster nodes |grep master > ./all
cat all | awk '{print $2}' | awk '$1 ~/@.*/{gsub("@.*","",$1);print $0}' > 222
cat all | awk -F " " '{for (i=9;i<=NF;i++)printf("%s ", "["$i"]");print " "}' > 999
paste -d "#" 222 999 > 2_9.txt
cat 2_9.txt 执行后输出的结果:
[redis@lxd-vm3 redis]$ sh get_slot_range2.sh 5.5.5.101 29001
5.5.5.101:29004#[824-1382] [2200-2499] [3001] [5462-6828] [10923-12290]
5.5.5.102:29002#[821-823] [1383-2199] [7647-10922]
5.5.5.101:29001#[2500-3000] [3002-3299] [3301-5461] [6829-7646] [12291-13108]
5.5.5.103:29003#[0-820] [3300] [13109-16383]
获取redis cluster master对应的slot分布情况的更多相关文章
- 另外一种获取redis cluster主从关系和slot分布的方法
条条大路通罗马,通过最近学习redis cluster 观察其输出,发现了另外一种获取master-slave关系的方法. [redis@lxd-vm1 ~]$ cat get_master_slav ...
- 又一种获取redis cluster slots分布的小脚本
需要:昨晚学习了cluster slots命令,之前写的脚本,有可以换种方法获取到redis cluster slots 分布情况. cluster slots的结果如下: 4 5460 5.5.5. ...
- 获取redis cluster中所有节点的内存使用情况
需求:获取redis cluster集群中所有节点的内存使用情况. ip_port=`redis-cli -h $ -p $ -a abc123 -c cluster nodes | awk '{pr ...
- 第3种方法获取redis cluster主从关系
需求:使用cluster slots命令,获取redis cluster 主从对应关系. 说明:cluster slots命令对应的字段说明:http://redis.cn/commands/clus ...
- 直观获取redis cluster 主从关系
需求:还是redis-trib.rb脚本获取的信息不足或者太繁杂,这里给出更加直观的一种方法, 说明:已在4.x版本测试通过,3.x不可用. 原生的输出 (1adfa7f3...) keys slot ...
- redis cluster和hash slot
redis cluster介绍 从redis3.0.0开始,官方支持了redis cluster的集群模式,结束了redis没有集群的时代. redis cluster 支撑 N 个 redis ma ...
- Redis Cluster 分区实现原理
Redis Cluster本身提供了自动将数据分散到Redis Cluster不同节点的能力,分区实现的关键点问题包括:如何将数据自动地打散到不同的节点,使得不同节点的存储数据相对均匀:如何保证客户端 ...
- 全面剖析Redis Cluster原理和应用 (转)
1.Redis Cluster总览 1.1 设计原则和初衷 在官方文档Cluster Spec中,作者详细介绍了Redis集群为什么要设计成现在的样子.最核心的目标有三个: 性能:这是Redis赖以生 ...
- redis cluster介绍
讲解分布式数据存储的核心算法,数据分布的算法 hash算法 -> 一致性hash算法(memcached) -> redis cluster,hash slot算法 一.概述 1.我们的m ...
随机推荐
- [Windows]远程管理服务WinRM远程管理Windows服务器 Invalid use of command line. Type "winrm -?" for help.
运行环境 Windows 2012 R2 1. Windows需要打开WinRM服务,Server系统默认打开,默认端口5985 # WinRM服务查看 PS C:\Users\Administrat ...
- python打包生成可执行文件教程
python打包生成可执行文件教程 安装环境: 1.打开命令行窗口,输入命令:pip install pyinstaller ,等待下载结束.示例: 2.下载结束后,测试是否成功安装,输入命令:pyi ...
- 抽取vs2010安装包中vc++ runtime
写于2015-3-21 16:59 由qq空间转过来,格式有点乱 之前遇到一个问题,c++\cli的程序部署在服务器上面,程序运行后没有反应就退出了,日志管理器中记录两个错误信息分别如下: ...
- idea 工具 听课笔记 首页
maven 创建 javaWeb站点结构标准及异常权限调整 解决Intellij Idea下修改jsp页面不自动更新(链接 idea中使用github 提交 idea 从github.com上恢复站 ...
- Page Object设计模式(一)
一.简介 主要特点体现在“对界面交互细节的封装”上,使测试用例更专注于业务的操作,从而提高测试用例的可维护性.解决UI变动问题. page对象的一个基本原则经验法则是:凡是人能做的事,page对象通过 ...
- 分布式配置中心:Spring Cloud Config
最近在学习Spring Cloud的知识,现将分布式配置中心:Spring Cloud Config的相关知识笔记整理如下.[采用 oneNote格式排版]
- MySQL 8 用户定义函数
MySQL Server可以通过创建或者加载UDFs(User-Defined Functions)来扩展服务器功能. 通过CREATE FUNCTION语句加载 UDF,比如: CREATE FUN ...
- 关键字Lock的简单小例子
一.什么是Lock? Lock——字面上理解就是锁上:锁住:把……锁起来的意思: 为什么要锁?要锁干什么?——回到现实中可想象到,这个卫生间我要上,其他人不要进来!(所以我要锁住门):又或者土味情话所 ...
- day9 修改文件
# 修改文件 # 文件是不能修改 with open('小护士班主任', mode='r', encoding='utf-') as f, open('小护士班主任.bak', 'w', encodi ...
- 二、继续学习(主要参考Python编程从入门到实践)
操作列表 具体内容如下: # 操作列表 # 使用for循环遍历整个列表. # 使用for循环处理数据是一种对数据集执行整体操作的不错的方式. magicians = ['alice', 'david' ...