redis-cli连接集群(redis cluster 连接)

redis-cli连接集群(redis cluster 连接)svg xmlns http www w3 org 2000 svg style display none svg

大家好,我是讯享网,很高兴认识大家。



 <svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path> </svg> <p>在上一篇博客&#xff0c;我们学习哨兵集群的搭建&#xff0c;的哨兵模式提供了比如监控、自动故障转移等高可用方案&#xff0c;但是这种方案&#xff0c;容量相对固定&#xff0c;要进行持续扩容或者数据分片就不适合&#xff0c;所以有另外一种更复杂的集群方案&#xff0c;集群模式</p> 

讯享网
  • CentOS7
  • Xshell6
  • XFtp6
  • Redis6.2.2

集群模式至少需要三主三从,起码得6个节点,因为没有那么多服务器,所以先用3个节点来做实验,正常大型项目都是需要部署多几个节点,提供系统可用性。

  • 节点1:192.168.65.109 6380
  • 节点2:192.168.65.109 6381
  • 节点3:192.168.66.108 6380
  • 节点4:192.168.66.108 6381
  • 节点5:192.168.66.149 6380
  • 节点6:192.168.66.149 6381

每一个节点部署一个redis,可以配置好一个,然后统一上传即可

讯享网

修改配置文件

 

配置好之后,部署每个节点的redis

讯享网

查看redis是否启动成功

 

在这里插入图片描述
讯享网

或者查看端口

讯享网

在这里插入图片描述

在任意一个节点创建集群

 

在这里插入图片描述
查看集群信息

讯享网

在这里插入图片描述

现在模拟一些一个节点出现宕机的情况,节点关闭,可以看到日志等一会后,原本是节点的节点升级为节点
在这里插入图片描述
重启一下刚才的节点,可以看到变成节点
在这里插入图片描述


所以,cluster集群是会进行自动故障转移的,还是比较高可用的

连接一个redis客户端,然后第一个参数是要添加的节点,第二个参数是集群里随机的节点

 

在这里插入图片描述
看看节点是否添加成功

在这里插入图片描述

在上一个步骤,添加好节点后,可以看到节点,但是发现没有分配hash槽
在这里插入图片描述
所以,使用命令

讯享网

在这里插入图片描述

  • 要转移多少槽位的数据
    How many slots do you want to move (from 1 to 16384)? 1-16384之间
  • 输入接收节点id
    What is the receiving node ID? baaf46ec6e59ec316f7742a8560c,从图可以看出6382的节点id
  • hash槽从哪里拿数据
    假如可以输入192.168.65.109:6380的节点id:cbc6bc890cob8b215e4eoaf377aa 再后面输入,回车就会同步对应槽的数据,如果要所有节点,直接输入all即可

要移除节点,也就是集群缩容,可以使用命令移除节点,节点id在查看

 

在这里插入图片描述

详细的可以参考官方文档:https://redis.io/commands/?group=cluster

  • 集群相关命令(需要进入客户端)
    • cluster info :打印集群的信息
    • cluster nodes :列出集群当前已知的所有节点,以及这些节点的
      相关信息。
    • cluster meet :将 ip 和 port 所指定的节点添加到集群当中。
    • cluster forget &lt;node_id&gt; :从集群中移除 node_id 指定的节点
    • cluster replicate &lt;node_id&gt; :将当前节点设置为 node_id 指定的节点的
      从节点。
    • cluster saveconfig :将节点的配置文件保存到硬盘里面。
  • 槽slot命令
    • cluster addslots [slot …] :将一个或多个槽(slot)指派(assign)给当前
      节点。
    • cluster delslots [slot …] :移除一个或多个槽对当前节点的指派。
    • cluster flushslots :移除指派给当前节点的所有槽,让当前节点变成一个没有指派任何槽的节点。
    • cluster setslot node &lt;node_id&gt; :将槽 slot 指派给 node_id 指定的节点,如果槽已经指派给另一个节点,那么先让另一个节点删除该槽&gt;,然后再进行指派。
    • cluster setslot migrating &lt;node_id&gt; :将本节点的槽 slot 迁移到 node_id指定的节点中。
    • cluster setslot importing &lt;node_id&gt; :从 node_id 指定的节点中导入槽slot 到本节点。
    • cluster setslot stable :取消对槽 slot 的导入(import)或者迁移(migrate)。
  • 键命令
    • cluster keyslot :计算键 key 应该被放置在哪个槽上。
    • cluster countkeysinslot :返回槽 slot 目前包含的键值对数量。
    • cluster getkeysinslot :返回 count 个 slot 槽中的键


小讯
上一篇 2025-04-24 14:36
下一篇 2025-05-10 13:59

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/187254.html