设为首页 收藏本站
查看: 819|回复: 0

[经验分享] redis集群常用命令

[复制链接]

尚未签到

发表于 2018-11-6 06:17:36 | 显示全部楼层 |阅读模式
  #1、redis-cli命令进入集群环境
  redis-cli -c -p 7000
  #2、查看redis整个集群的状况,看谁是主,谁是从,常用两种方式。
  #2.1、通过redis-trib.rb check方式查看,
  ./redis-trib.rb check 127.0.0.1:7000
  #2.2、通过redis-cli方式查看,
  redis-cli -c -p 7000 cluster nodes
  #3、添加Master节点到集群
  #3.1、按照Redis集群一的方式,创建端口为7006的新实例,并启动该实例(操作跟其他节点一样,注意修改端口。)
  #3.2、将7006添加到集群
  cd /data/soft/redis/src/
  ./redis-trib.rb add-node 127.0.0.1:7006 127.0.0.1:7000
  #3.3、查看所有集群节点,看看7006节点是否添加成功
  redis-cli -c -p 7000 cluster nodes
  7adf4b58e321bdc0f5962dfdc1ab0eb3e6835b30 127.0.0.1:7004 slave 757c2dcebb7b8effca5e89d5c44229f9a33f6e54 0 1451322932189 5 connected
  f3951a3c666b429a095375799c1ab49e694a291c 127.0.0.1:7005 slave fd92a2277ad03bf7ad51f5865edb613f498cf409 0 1451322933202 6 connected
  757c2dcebb7b8effca5e89d5c44229f9a33f6e54 127.0.0.1:7001 master - 0 1451322931685 2 connected 5795-10922
  84c29ba2d6aa9e6179d0faeabc54bb8cd443c4ae 127.0.0.1:7003 slave 721d0479cbd308eac871b2abe3b5805db80d2fe3 0 1451322931181 8 connected
  fd92a2277ad03bf7ad51f5865edb613f498cf409 127.0.0.1:7002 master - 0 1451322932692 3 connected 11256-16383
  cee383ab949eeb33d58aacde89c9cfb8eaa65eab 127.0.0.1:7006 master - 0 1451322933202 0 connected
  721d0479cbd308eac871b2abe3b5805db80d2fe3 127.0.0.1:7000 myself,master - 0 0 8 connected 0-5794 10923-11255
  #3.4、给新添加的7006节点分配哈希槽
  cd /data/soft/redis/src/
  ./redis-trib.rb reshard 127.0.0.1:7000
  #3.4.1、根据提示选择要迁移的slot数量(ps:这里选择1000)
  How many slots do you want to move (from 1 to 16384)? 1000
  #3.4.2、选择要接受这些slot的node-id(ps:这里选择7006节点的node-id)

  What is the receiving node>  #3.4.3、选择slot来源:
  #all表示从所有的master重新分配,
  #或者数据要提取slot的master节点id,最后用done结束(ps:这里只选择了7000节点的slot)

  Please enter all the source node>  Type 'all' to use all the nodes as source nodes for the hash slots.

  Type 'done' once you entered all the source nodes>  Source node #1:721d0479cbd308eac871b2abe3b5805db80d2fe3
  Source node #2:done
  #3.4.4、打印被移动的slot后,输入yes开始移动slot以及对应的数据。
  Do you want to proceed with the proposed reshard plan (yes/no)? yes
  #3.5、查看7006节点是否变成master节点(connected是否在0-999范围)
  redis-cli -p 7000 cluster nodes | grep master | grep 7006
  cee383ab949eeb33d58aacde89c9cfb8eaa65eab 127.0.0.1:7006 master - 0 1451325140212 9 connected 0-999
  #4、添加Slave节点到集群
  #4.1、按照Redis集群一的方式,创建端口为7007的新实例,并启动该实例(操作跟其他节点一样,注意修改端口。)
  #4.2、将7006添加到集群
  cd /data/soft/redis/src/
  ./redis-trib.rb add-node 127.0.0.1:7007 127.0.0.1:7000
  #4.3、查看所有集群节点,看看7007节点是否添加成功
  redis-cli -c -p 7000 cluster nodes
  7adf4b58e321bdc0f5962dfdc1ab0eb3e6835b30 127.0.0.1:7004 slave 757c2dcebb7b8effca5e89d5c44229f9a33f6e54 0 1451324338685 5 connected
  f3951a3c666b429a095375799c1ab49e694a291c 127.0.0.1:7005 slave fd92a2277ad03bf7ad51f5865edb613f498cf409 0 1451324340703 6 connected
  757c2dcebb7b8effca5e89d5c44229f9a33f6e54 127.0.0.1:7001 master - 0 1451324340197 2 connected 5795-10922
  84c29ba2d6aa9e6179d0faeabc54bb8cd443c4ae 127.0.0.1:7003 slave 721d0479cbd308eac871b2abe3b5805db80d2fe3 0 1451324339190 8 connected
  fd92a2277ad03bf7ad51f5865edb613f498cf409 127.0.0.1:7002 master - 0 1451324338685 3 connected 11256-16383
  cee383ab949eeb33d58aacde89c9cfb8eaa65eab 127.0.0.1:7006 master - 0 1451324340197 9 connected 0-999
  721d0479cbd308eac871b2abe3b5805db80d2fe3 127.0.0.1:7000 myself,master - 0 0 8 connected 1000-5794 10923-11255
  9fc511d059eb7fccae41663d495e73275e942aec 127.0.0.1:7007 master - 0 1451324339693 0 connected
  #4.4、设置7007成为7006的slave
  redis-cli -c -p 7007 cluster replicate cee383ab949eeb33d58aacde89c9cfb8eaa65eab
  #4.5、查看7007节点是否变成7006的slave节点
  redis-cli -p 7000 cluster nodes | grep slave | grep 7007
  9fc511d059eb7fccae41663d495e73275e942aec 127.0.0.1:7007 slave cee383ab949eeb33d58aacde89c9cfb8eaa65eab 0 1451324745834 9 connected
  #5、删除一个Slave节点(格式:./redis-trib.rb del-node ip:port node-id,这里以7007节点为例 )
  cd /data/soft/redis/src/
  ./redis-trib.rb del-node 127.0.0.1:7007 '9fc511d059eb7fccae41663d495e73275e942aec'
  #6、删除一个Master节点(这里以7006节点为例 )
  #6.1、删除master节点之前首先要使用reshard移除master的全部slot
  cd /data/soft/redis/src/
  ./redis-trib.rb reshard 127.0.0.1:7006
  #6.1.1、根据提示选择要迁移的slot数量(ps:这里选择1000)
  How many slots do you want to move (from 1 to 16384)? 1000
  #6.1.2、选择要接受这些slot的node-id(ps:这里选择7000节点的node-id)

  What is the receiving node>  #6.1.3、选择slot来源:
  #all表示从所有的master重新分配,
  #或者数据要提取slot的master节点id,最后用done结束(ps:这里选择需要要删除的7006节点slot)

  Please enter all the source node>  Type 'all' to use all the nodes as source nodes for the hash slots.

  Type 'done' once you entered all the source nodes>  Source node #1:cee383ab949eeb33d58aacde89c9cfb8eaa65eab
  Source node #2:done
  #6.1.4、打印被移动的slot后,输入yes开始移动slot以及对应的数据。
  Do you want to proceed with the proposed reshard plan (yes/no)? yes
  #6.2、删除空7006节点
  cd /data/soft/redis/src/
  ./redis-trib.rb del-node 127.0.0.1:7006 'cee383ab949eeb33d58aacde89c9cfb8eaa65eab'


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-631206-1-1.html 上篇帖子: StackService.Redis Pub/Sub应用实例 下篇帖子: redis数据类型-散列类型
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表