输出redis cluster集群所有节点指定的参数的配置
需要:实现类似redis-trib.rb call 命令的功能,输出redis cluster集群所有节点指定的参数的配置
redis-trib.rb的输出
[redis@lxd-vm3 ~]$ redis-trib.rb call 5.5.5.101: config get *timeout*
/usr/local/ruby2.5.1/lib/ruby/gems/2.5./gems/redis-3.3./lib/redis/client.rb:: warning: constant ::Fixnum is deprecated
>>> Calling CONFIG get *timeout*
5.5.5.101:: ["timeout", "", "repl-timeout", "", "cluster-node-timeout", ""]
5.5.5.101:: ["timeout", "", "repl-timeout", "", "cluster-node-timeout", ""]
5.5.5.102:: ["timeout", "", "repl-timeout", "", "cluster-node-timeout", ""]
5.5.5.101:: ["timeout", "", "repl-timeout", "", "cluster-node-timeout", ""]
5.5.5.102:: ["timeout", "", "repl-timeout", "", "cluster-node-timeout", ""]
5.5.5.103:: ["timeout", "", "repl-timeout", "", "cluster-node-timeout", ""]
5.5.5.102:: ["timeout", "", "repl-timeout", "", "cluster-node-timeout", ""]
5.5.5.103:: ["timeout", "", "repl-timeout", "", "cluster-node-timeout", ""]
编写脚本
ip_port=`redis-cli -h $ -p $ -a abc123 -c cluster nodes | awk '{print $2}' | awk -F'@' '{print $1}'`
for i in $ip_port
do
redis_ip=`echo $i | awk -F':' '{print $1}'|sed 's/\r//g'`
redis_port=`echo $i | awk -F':' '{print $2}'|sed 's/\r//g'`
redis_cmd="redis-cli -h $redis_ip -p $redis_port -a abc123 -c"
echo -n "$redis_ip:$redis_port "
$redis_cmd config get $ > config
cat config | awk 'NR % 2 == 0' > even
cat config | awk 'NR % 2 == 1' > odd
paste -d ':' odd even > tmp.txt
tail_line=$(cat tmp.txt|sed -n '$p')
printf '【'
for x in `cat tmp.txt`
do
if [[ "$x" == "$tail_line" ]];then
printf "%s" $x
else
printf '%s\t' $x
fi
done
printf '】'
echo
done
在后续学习awk命令中,遇到了getline命令,发现可以用一行命令替代上面红色字体的3条语句。
cat config | awk '{printf $0":";getline;print $0}' > tmp.txt
可以作为奇数行和偶数行两两配对一种方法。
说明:getline是获取当前行的下一行,即第一个$0输出的是奇数行,第二个$0输出的是偶数行,依次循环输出所有两两配对的键值对。
测试结果
[redis@lxd-vm1 ~]$ sh get_redis_para.sh 5.5.5.101 *timeout*
5.5.5.101: 【timeout: repl-timeout: cluster-node-timeout:】
5.5.5.101: 【timeout: repl-timeout: cluster-node-timeout:】
5.5.5.102: 【timeout: repl-timeout: cluster-node-timeout:】
5.5.5.101: 【timeout: repl-timeout: cluster-node-timeout:】
5.5.5.102: 【timeout: repl-timeout: cluster-node-timeout:】
5.5.5.103: 【timeout: repl-timeout: cluster-node-timeout:】
5.5.5.102: 【timeout: repl-timeout: cluster-node-timeout:】
5.5.5.103: 【timeout: repl-timeout: cluster-node-timeout:】
输出redis cluster集群所有节点指定的参数的配置的更多相关文章
- redis cluster集群部署
上一篇http://www.cnblogs.com/qinyujie/p/9029153.html,主要讲解了 redis cluster 集群架构 的优势.redis cluster 和 redis ...
- Redis Cluster 集群节点维护 (三)
Redis Cluster 集群节点维护: 集群运行很久之后,难免由于硬件故障,网络规划,业务增长,等原因对已有集群进行相应的调整,比如增加redis nodes 节点,减少节点,节点迁移,更换服务器 ...
- Redis Cluster集群知识学习总结
Redis集群解决方案有两个: 1) Twemproxy: 这是Twitter推出的解决方案,简单的说就是上层加个代理负责分发,属于client端集群方案,目前很多应用者都在采用的解决方案.Twem ...
- centos6下redis cluster集群部署过程
一般来说,redis主从和mysql主从目的差不多,但redis主从配置很简单,主要在从节点配置文件指定主节点ip和端口,比如:slaveof 192.168.10.10 6379,然后启动主从,主从 ...
- Redis Cluster集群搭建<原>
一.环境配置 一台window 7上安装虚拟机,虚拟机中安装的是centos系统. 二.目标 Redis集群搭建的方式有多种,根据集群逻辑的位置,大致可以分为三大类:基于客户端分片的Redis ...
- Ubuntu 16.04下Redis Cluster集群搭建(官方原始方案)
前提:先安装好Redis,参考:http://www.cnblogs.com/EasonJim/p/7599941.html 说明:Redis Cluster集群模式可以做到动态增加节点和下线节点,使 ...
- JFinal redis cluster集群插件
JFinal redis cluster集群插件 JFinal 框架到了2.1版本号,可是依旧仅仅支持redis的主从集群,没有看到Cluster集群的插件.笔者照着主从的插件方式,改了改,实现了个简 ...
- 【原创】强撸基于 .NET 的 Redis Cluster 集群访问组件
Hello 大家好,我是TANZAME,我们又见面了.今天我们来聊聊怎么手撸一个 Redis Cluster 集群客户端,纯手工有干货,您细品. 随着业务增长,线上环境的QPS暴增,自然而然将当前的单 ...
- Redis Cluster集群搭建与应用
1.redis-cluster设计 Redis集群搭建的方式有多种,例如使用zookeeper,但从redis 3.0之后版本支持redis-cluster集群,redis-cluster采用无中心结 ...
随机推荐
- 2018icpc徐州网络赛-H Ryuji doesn't want to study(线段树)
题意: 有n个数的一个数组a,有两个操作: 1 l r:查询区间[l,r]内$a[l]*(r-l+1)+a[l+1]*(r-l)+a[l+2]*(r-l-1)+\cdots+a[r-1]*2+a[r] ...
- 《Head first设计模式》之装饰者模式
装饰者模式动态地将责任附加到对象上.若要扩展功能,装饰者提供了比继承更有弹性的替代方案. 星巴兹是以扩张速度最快而闻名的咖啡连锁店.由于扩张速度太快,他们准备更新订单系统,以合乎他们的饮料供应要求. ...
- python3 jenkins api操作
一.安装依赖包 pip install python-jenkins 二.常用操作 0.调用jenkins(以下用的server都是这里的环境) import jenkins server = jen ...
- [转载]理解weight decay
http://blog.sina.com.cn/s/blog_a89e19440102x1el.html
- make: *** No targets specified and no makefile found. Stop.错误
# make make: *** No targets specified and no makefile found. Stop. # yum install gcc gcc-c++ gcc-g77 ...
- 3,HDFS原理
1,HDFS体系结构 ··· HDFS是采用master/slaves即主从结构模型来管理数据的.这种模型主要由四部分组成,分别是Client.NameNode.DataNode.SecondaryN ...
- Python学习小记(2)---[list, iterator, and, or, zip, dict.keys]
1.List行为 可以用 alist[:] 相当于 alist.copy() ,可以创建一个 alist 的 shallo copy,但是直接对 alist[:] 操作却会直接操作 alist 对象 ...
- 小白学 Python 数据分析(9):Pandas (八)数据预处理(2)
人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...
- pdf转图片(qq:2798641729)
前面已经把html转成pdf,但是用户可以下载图片格式的文件,所以我们必须把pdf转成图片格式,代码如下 package com.jit.platform.basics.util.pdf; impor ...
- Python当中的len(),str(),input(),print()函数当中值得注意的点
在python当中很多时候会用到这三个函数,这也是考试当中十分常见的考点,这里做一些记录: 1.len():用于测量变量当中的字符串/元组等的长度 举个例子: >>> stt=&qu ...