2019独角兽企业重金招聘Python工程师标准>>>

CLUSTER INFO 打印集群的信息

CLUSTER NODES 列出集群当前已知的所有节点(node),以及这些节点的相关信息。

//节点(node)

CLUSTER MEET <ip> <port> 将 ip 和 port 所指定的节点添加到集群当中,让它成为集群的一份子。

CLUSTER FORGET <node_id> 从集群中移除 node_id 指定的节点。

CLUSTER REPLICATE <node_id> 将当前节点设置为 node_id 指定的节点的从节点。

CLUSTER SAVECONFIG 将节点的配置文件保存到硬盘里面。

//槽(slot)

CLUSTER ADDSLOTS <slot> [slot ...] 将一个或多个槽(slot)指派(assign)给当前节点。

CLUSTER DELSLOTS <slot> [slot ...] 移除一个或多个槽对当前节点的指派。

CLUSTER FLUSHSLOTS 移除指派给当前节点的所有槽,让当前节点变成一个没有指派任何槽的节点。

CLUSTER SETSLOT <slot> NODE <node_id> 将槽 slot 指派给 node_id 指定的节点,如果槽已经指派给另一个节点,那么先让另一个节点删除该槽>,然后再进行指派。

CLUSTER SETSLOT <slot> MIGRATING <node_id> 将本节点的槽 slot 迁移到 node_id 指定的节点中。

CLUSTER SETSLOT <slot> IMPORTING <node_id> 从 node_id 指定的节点中导入槽 slot 到本节点。

CLUSTER SETSLOT <slot> STABLE 取消对槽 slot 的导入(import)或者迁移(migrate)。

//键 (key)

CLUSTER KEYSLOT <key> 计算键 key 应该被放置在哪个槽上。

CLUSTER COUNTKEYSINSLOT <slot> 返回槽 slot 目前包含的键值对数量。

CLUSTER GETKEYSINSLOT <slot> <count> 返回 count 个 slot 槽中的键。

http://wenku.baidu.com/link?url=95fErDdvPOyeE426qhPhywbRubpG8tv17jOI2yQc8VI-kO51RN4z0TCHSqwrPPgYymj_1Pek37z-14ovKOScjUf1qi0hetIU6XEpagx4h0W

http://blog.51yip.com/nosql/1726.html/comment-page-1

http://hot66hot.iteye.com/blog/2050676/

http://blog.csdn.net/huwei2003/article/details/50973967

安装步骤

wget http://download.redis.io/releases/redis-3.2.1.tar.gz

tar -zxvf redis-3.2.1.tar.gz

cd redis-3.2.1

make && make install

mkdir /home/redis

cd /home/redis

mkdir 7000 7002 7003 7004 7005

修改redis.conf

port 7000

daemonize yes

cluster-enabled yes

cluster-config-file nodes.conf

cluster-node-timeout 5000

bind 172.16.97.5 必须绑定真实IP,否则集群启动不了

修改完以后复制6分到对应目录并且改成对应的端口和名称

启动所有的实例

/home/redis/redis-3.2.1/src/redis-server /home/redis/7000/redis.7000.conf

安装ruby

yum install ruby ruby-devel rubygems

gem 安装 redis ruby 接口

gem install redis,

wget https://rubygems.org/downloads/redis-3.3.0.gem, 安装包安装 gem install -l /data/soft/redis-3.0.0.gem

rm -rf /home/redis/7000/dump.rdb nodes.conf

rm -rf /home/redis/7001/dump.rdb nodes.conf

rm -rf /home/redis/7002/dump.rdb nodes.conf

rm -rf /home/redis/7003/dump.rdb nodes.conf

rm -rf /home/redis/7004/dump.rdb nodes.conf

rm -rf /home/redis/7005/dump.rdb nodes.conf

/home/redis/redis-3.2.1/src/redis-server /home/redis/redis.7000.conf

/home/redis/redis-3.2.1/src/redis-server /home/redis/redis.7001.conf

/home/redis/redis-3.2.1/src/redis-server /home/redis/redis.7002.conf

/home/redis/redis-3.2.1/src/redis-server /home/redis/redis.7003.conf

/home/redis/redis-3.2.1/src/redis-server /home/redis/redis.7004.conf

/home/redis/redis-3.2.1/src/redis-server /home/redis/redis.7005.conf

创建集群 replicas 表示为集群中的master 分配几个slave 节点

/home/redis/redis-3.2.1/src/redis-trib.rb  create --replicas 1 172.16.97.5:7000 172.16.97.10:7002 172.16.97.18:7004   172.16.97.10:7003 172.16.97.5:7001  172.16.97.18:7005

集群创建成功

查看集群状态 /home/redis/redis-3.2.1/src/redis-trib.rb check 172.16.97.5:7000

进入集群  /home/redis/redis-3.2.1/src/redis-cli -c -h 172.16.97.5 -p 7000

添加主节点

1:启动一个新节点

2:redis-trib.rb add-node 172.16.97.5:7006  172.16.97.5:7000

3 注释:172.16.97.5:7006 为新节点,172.16.97.5:7000 为集群中的任意主节点

添加从节点

redis-trib.rb add-node --slave --master-id 03ccad2ba5dd1e062464bc7590400441fafb63f2 172.16.97.5:7007  172.16.97.5:7000

--slave,表示添加的是从节点

--master-id 03ccad2ba5dd1e062464bc7590400441fafb63f2,主节点的nodeid,在这里是前面新添加的7006的nodeid

172.16.97.5:7007 新节点

172.16.97.5:7000集群任一个主节点

重新shard slot

redis-trib.rb reshard 172.16.97.5:7000

改变从节点的master

redis-cli -c -p 172.16.97.5:7007

输入命令:cluster replicate 5d8ef5a7fbd72ac586bef04fa6de8a88c0671052  //新master的nodeid

删除从节点:

redis-trib.rb del-node 172.16.97.5:7007 9c240333476469e8e2c8e80b089c48f389827265

删除主节点

如果主节点有从节点,将从节点转移到其他主节点

如果主节点有slot,去掉分配的slot,然后再删除主节点

redis-trib.rb reshard 172.16.97.5:7006

redis-trib.rb del-node 172.16.97.5:7006 03ccad2ba5dd1e062464bc7590400441fafb63f2

导入数据

/home/redis/redis-3.2.1/src/redis-trib.rb import --from  172.16.97.3:6380 172.16.97.5:7000

上面的命令是把 172.16.97.3:6380(redis 2.8)上的数据导入到 172.16.97.5:7000 这个节点所在的集群

redis-cli -p 6380 -n 1 keys '*' | xargs -I '{}' redis-cli -p 6380  -n 1 move '{}' 0

把 database 1的Key move 到 database 0

redis-cli -p 6379 -n 2 keys '*' | xargs -I '{}' redis-cli -p  6379 -n 2  migrate 172.16.97.17 6379 '{}' 2 1000

COPY and REPLACE are available only in 3.0 and above. KEYS is available

/home/redis-2.8.13/src/redis-cli -p 6380 -n 1 keys '*' | xargs -I '{}' /home/redis-2.8.13/src/redis-cli -p  6380 -n 1  migrate 172.16.97.5 7000 '{}' 1 1000

cat /tmp/users.txt | xargs -I '{}' /home/redis/redis-3.2.3/src/redis-cli -h 172.16.97.10 -p 7000 -n 1 sadd downip:mail:users '{}'

转载于:https://my.oschina.net/u/3231866/blog/827849

redis 运维常用命令相关推荐

  1. Linux运维常用命令(转)

    为什么80%的码农都做不了架构师?>>>    1.删除0字节文件 find-type f -size 0 -exec rm -rf {} \; 2.查看进程 按内存从大到小排列 p ...

  2. 6.Linux运维常用命令

    1.Linux运维常用命令 chage -M 99999 test  #修改test用户的密码有效期:10W天 lscpu  --查看cpu; #查看CPU核数,当前机器是物理机还是虚拟机 iosta ...

  3. 很实用的Linux 系统运维常用命令及常识(超实用)

    很实用的Linux 系统运维常用命令及常识(超实用) 作为Linux运维,需要了解Linux操作系统的基本使用和管理知识,下面脚本之家小编给大家介绍下Linux运维需要掌握的命令,想成为Linux运维 ...

  4. Linux系统运维常用命令

    Linux 系统运维常用命令 1 文件管理2 软件管理3 系统管理 4 服务管理5 网络管理6 磁盘管理 7 用户管理8 脚本相关9 服务配置 ============================ ...

  5. Linux 运维常用命令 find、awk、sed、grep、vi、ps、lsof、rpm

    先用一个脚本,模拟创建 14 个测试文件: #!/bin/bash for ((i=1;i<=10;i++)); do if [ $i -lt 3 ] thentouch /home/mysql ...

  6. 运维常用命令大全,从入门到精通就靠它了!

    Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在Linux系统上工作离不开使用系统提供的命令.要想真正理解Linux系统, ...

  7. nslookup命令反解ip_桌面运维常用命令

    1.Ping:ping指令是日常检验网络是否通畅的主要命令,常见的使用方法我们可以借助help文档. Ping /? 帮助文档 Ping www.baidu.com 基本格式 Ping www.bai ...

  8. Mysql运维常用命令回顾整理

    一.前景 Mysql作为开源数据库的中坚力量之一,虽然目前已被甲骨文收购,面临闭源风险,但是mysql扔是我们运维工作中最常面对的工作,那如何做好mysql运维工作,甚至做好mysql的基础运维,都是 ...

  9. linux运维常用命令整理

    对于刚接触运维的朋友们来说,linux命令行是个非常头痛的问题,要不就是记不住命令,要不就是记不住用法,总之,就是觉得linux运维命令很头疼. 最近花了些时间整理了一些常用的linux下常用的运维命 ...

最新文章

  1. 前端见微知著工具篇:Bower组件管控
  2. MATLAB批量实现dicom转换为bmp格式
  3. mouseOver/mouseOut 与 rollOver/rollOut的区别
  4. android 加载器loader详解
  5. 去除警告,打电话,发信息,应用程序之间跳转,打印沙盒路径,字符串名字转换方法,包装导航控制器等的代码...
  6. operator did not match Pytorch‘s Interpolation until opset 11
  7. UWP 剪贴板 Clipboard
  8. 汇编-输出寄存器的值-输出值
  9. php having,having方法
  10. MySQL—隔离级别
  11. php计算代码运行时间与内存使用的一段代码
  12. [技术回顾系列]--认识WebService全貌
  13. 由于压摆率引起的失真问题
  14. 城市大脑从起源到终极状态的7个阶段
  15. python发行版是什么意思_致 Python 初学者
  16. Mac微信多开与微信防撤回分享
  17. 10.23训练赛补题
  18. 公网远程访问内网群晖NAS 7.X版 【内网穿透】
  19. 使用rdbtools工具分析redis备份RDB文件
  20. exec()和eval()

热门文章

  1. Mysql常用词汇_mysql 数据库常用单词
  2. python开源商城_Leaf - 一个开发友好、功能完备的开源微信商城框架
  3. 临平职高计算机专业高职考大学,临平职高高考再传捷报 本科连续四年蝉联杭州市第一...
  4. 【bootstrap】如何解决页面缩小后上方导航栏格式变化的问题
  5. IO流 字符流 字节流 缓冲流 文件的复制
  6. JavaScript脚本文件学习总结
  7. Java案例——统计字符串中每个字符串出现的次数
  8. 作为程序员,要取得非凡成就需要记住的15件事。
  9. 卡片右上角三角形效果,按钮点击变色
  10. 一次被僵尸网络病毒攻击的过程