集群

概念


每次操作根据key进行hash运算,生成一个[0-16384]的hash值 (生成的hash值/16383取余数),最后找到对应hash值的节点

每次重启集群后,节点关系改变

删除主节点后,对应的从节点自动匹配新的主节点

集群配置


集群开关

cluster-enabled yes  #默认关闭

集群节点名

cluster-config-file nodes-6379.conf

集群节点心跳超时时间

cluster-node-timeout 15000

子节点是否过载,是否能成为主节点的可能性

cluster-replica-validity-factor 10

从节点个数

cluster-migration-barrier 1   #实际从节点小于设置值时,主从切换不会触发

部分节点宕机,是否停止工作

cluster-require-full-coverage yes    

子节点不允许成为主节点

cluster-replica-no-failover no

注意

每一台集群密码都要相同

集群运行


注意项

至少需要6个节点才能创建集群

每个节点数据必须是空

每个节点提供集群端口号 16379  ,注意防火墙

运行所有节点

所有节点配置完并运行后,检查 ps -ef |grep redis  是否有[cluster] 标识

开启集群

redis-cli --cluster create [ ]  [ ]  [ ]  [ ]  [ ]  [ ]  --cluster-replicas 1    #1代表1个主节点对应几个子节点,创建集群至少需要3个主节点

哈希槽分配: 16383个哈希槽  /主节点个数 

节点配置文件

nodes-6379.conf    #redis根目录,存放节点关系结构

节点管理


集群登入

redis-cli -c  #集群后 不加-c 无法进行集群操作

查询集群信息

cluster info

查看节点信息

cluster nodes

redis-cli --cluster check [111.111.111.111:6379]

节点删除

1.删除主节点要先转移hash槽对应数据

redis-cli --cluster reshard [转移的ip:port]   #提示 1.要转移多少个哈希槽   2.转移目标的节点ID  3.转移的节点id(可选all,从所有节点转移)  4.done

2.删除

redis-cli --cluster del-node [连接节点ip:port]   [要删除的节点id]    #删除主节点后,对应的从节点自动匹配新的主节点

主从转换,故障转移

1.登入从节点

redis-cli -h [从节点ip] -p [6379]

2.转移

cluster failover

添加节点

1.添加主节点

redis-cli --cluster add-node [新节点ip:port]  [集群任意节点ip:port]                  #新节点不能包含数据和旧集群配置文件nodes-6379.conf

2.转移hash槽

redis-cli --cluster reshard  [要转移的节点ip:port]     #提示 1.要转移多少个哈希槽   2.转移目标的节点ID   3.转移的节点id(可选all,从所有节点转移)  4.done

3.平衡hash槽

redis-cli --cluster rebalance --cluster -threshold 1 [新节点ip:port]

4.添加从节点

redis-cli --cluster add-node [新节点ip:port]  [集群任意节点ip:port]    --cluster-slave  --cluster-master-id [主节点id]      #新节点不能包含数据和旧集群配置文件 nodes-6379.conf

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1 Redis介绍1.1 什么是NoSql为了解决高并发、高可扩展、高可用、大数据存储问题而产生的数据库解决方...
    克鲁德李阅读 5,829评论 0 36
  • redis集群分为服务端集群和客户端分片,redis3.0以上版本实现了集群机制,即服务端集群,3.0以下使用客户...
    hadoop_null阅读 1,706评论 0 6
  • 1 概要介绍 1.1 应用场景 缓存:相对静态、或变化缓慢的数据,可以利用缓存降低数据库IO压力,提升性能 分布式...
    可笑可乐阅读 9,554评论 4 5
  • Redis集群是Redis分布式解决方案,解决了单机中心化的问题 一、理论基础 主要包括2部分:节点主从、哈希Sl...
    毛毛虫_先生阅读 621评论 0 5
  • Redis集群 Redis数据分区 思考: 主从复制是通过将master上的数据全量的复制到一个或多个节点上,这是...
    javap阅读 1,586评论 0 6

友情链接更多精彩内容