您当前的位置: 首页 >  redis

cuiyaonan2000

暂无认证

  • 2浏览

    0关注

    248博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

The Using Of Commands Of Redis Cluster

cuiyaonan2000 发布时间:2021-07-15 18:06:07 ,浏览量:2

Create创建集群

--cluster-replicas 1 :每个服务有多少个备份服务作为高可用

redis-cli --cluster create 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006 --cluster-replicas 1

Info集群的相关信息

./redis-cli --cluster info 192.168.137.100:7001

从下图可以看到这个集群有个服务器,这个命令分别显示了每个服务器的IP、端口、存储的key个数、备份服务器的个数cuiyaonan2000@163.com

Fix修复集群

当我们误删除一个节点的所有slots后可以使用该命令进行修复.

重新分配的slots可能会不是连续的.数据不会丢失cuiyaonan2000@163.com

./redis-cli --cluster fix  192.168.137.100:7002  

Reblance重新平衡集群中的slots

当fix后是的slot不连续时,可以使用该命令让slots连续,数据不会丢失

 /redis-cli  --cluster rebalance 192.168.137.100:7001

 另外也可以设置权重,即每个节点获取slot的百分比

 ./redis-cli --cluster rebalance  --cluster-weight 8966f58470059921e5e8c68e33cb516c478c51c4=5 d158e61b4cb74625e4b3092b2b2151fb5ead2b86=5 192.168.137.100:7002

Del-node 删除节点

该命令只能删没有slot分配的节点,如下图所示

成功后关闭该节点服务

./redis-cli --cluster del-node 192.168.137.100:7002 189da71f5d3d4e59b311eb2e44f047550652b849

当把该节点的slot清空后,再次执行就成功了.如下图所示:(注意红框内的内容cuiyaonan2000@163.com) 

Reshard重新分配slots

该命令可以给指定的服务节点分配slots.如下图所示给192.168.137.100:7003分配slots.

(当我们新增一个节点的时候,该节点是没有slots的.所以需要我们使用该命令设置cuiyaonan2000@163.com)

登录Redis服务        

登录进入服务后可以执行如下的命令

./redis-cli -c -p 7001 -h 192.168.137.100

cluster nodes 
  1. 3个主节点所对应的哈希槽(hash slot)
  2.  myself表示当前连接的节点
  3. 每个节点对应的node-id (这个Id很重要cuiyaonan2000@163.com)
  4. master 标识该节点是主节点,slave表示为备份节点.我这里全都是主节点哈

cluster forget 

删除其中一个节点

参数总览
redis-cli --cluster help
Cluster Manager Commands:
  create         host1:port1 ... hostN:portN   #创建集群
                 --cluster-replicas       #从节点个数
  check          host:port                     #检查集群
                 --cluster-search-multiple-owners #检查是否有槽同时被分配给了多个节点
  info           host:port                     #查看集群状态
  fix            host:port                     #修复集群
                 --cluster-search-multiple-owners #修复槽的重复分配问题
  reshard        host:port                     #指定集群的任意一节点进行迁移slot,重新分slots
                 --cluster-from           #需要从哪些源节点上迁移slot,可从多个源节点完成迁移,以逗号隔开,传递的是节点的node id,还可以直接传递--from all,这样源节点就是集群的所有节点,不传递该参数的话,则会在迁移过程中提示用户输入
                 --cluster-to             #slot需要迁移的目的节点的node id,目的节点只能填写一个,不传递该参数的话,则会在迁移过程中提示用户输入
                 --cluster-slots          #需要迁移的slot数量,不传递该参数的话,则会在迁移过程中提示用户输入。
                 --cluster-yes                 #指定迁移时的确认输入
                 --cluster-timeout        #设置migrate命令的超时时间
                 --cluster-pipeline       #定义cluster getkeysinslot命令一次取出的key数量,不传的话使用默认值为10
                 --cluster-replace             #是否直接replace到目标节点
  rebalance      host:port                                      #指定集群的任意一节点进行平衡集群节点slot数量 
                 --cluster-weight          #指定集群节点的权重
                 --cluster-use-empty-masters                    #设置可以让没有分配slot的主节点参与,默认不允许
                 --cluster-timeout                         #设置migrate命令的超时时间
                 --cluster-simulate                             #模拟rebalance操作,不会真正执行迁移操作
                 --cluster-pipeline                        #定义cluster getkeysinslot命令一次取出的key数量,默认值为10
                 --cluster-threshold                       #迁移的slot阈值超过threshold,执行rebalance操作
                 --cluster-replace                              #是否直接replace到目标节点
  add-node       new_host:new_port existing_host:existing_port  #添加节点,把新节点加入到指定的集群,默认添加主节点
                 --cluster-slave                                #新节点作为从节点,默认随机一个主节点
                 --cluster-master-id                       #给新节点指定主节点
  del-node       host:port node_id                              #删除给定的一个节点,成功后关闭该节点服务
  call           host:port command arg arg .. arg               #在集群的所有节点执行相关命令
  set-timeout    host:port milliseconds                         #设置cluster-node-timeout
  import         host:port                                      #将外部redis数据导入集群
                 --cluster-from                            #将指定实例的数据导入到集群
                 --cluster-copy                                 #migrate时指定copy
                 --cluster-replace                              #migrate时指定replace
  help           

For check, fix, reshard, del-node, set-timeout you can specify the host and port of any working node in the cluster.

关注
打赏
1638267374
查看更多评论
立即登录/注册

微信扫码登录

0.0613s