redis集群

知识点

  1. 集群的密钥空间被分成 16384 个槽,有效地设置了 16384 个主节点的集群大小上限 (但是,建议的最大节点大小约为 1000 个节点)
  2. 取模算法。缺点:节点不固定情况下,当节点宕机,或者扩容下,计算储存机器不对,数据混乱。
  3. 哈希环算法2^32取模。优点:能解决节点不固定下计算数据储存问题。缺点:可能导致计算的数据分配不均匀,环型内分配中,某台机器计算范围大,大致数据倾斜。
  4. 哈希槽算法HASH_SLOT = CRC16(key) mod 16384 。每个key都通过技术得到对应槽位。
  5. redis集群支持多个master,每个master可以挂载多个slave

集群搭建

     这里以一台机器为例子,以7369,7370,7371 为master,7362,7373,7374 为slave

  • 修改配置redis7369.conf 同理7370,7371,7362,7373,7374 同理
  1. 注释#bind 127.0.0.1 -::1
  2. 关闭保护模式 protected-mode no
  3. 这里建议修改端口,为了安全不要使用默认端口 port 7369
  4. 后台运行 daemonize yes
  5. pidfile "/var/run/redis_7369.pid"
  6. 日志路径 logfile "/usr/local/redis7.0.0/log7369"
  7. 修改rdb文件名称 dbfilename "mydump7369.rdb" ,默认使用rdb持久化,如果需要用aof则需要修改appendonly yes
  8. rdb文件保存路径 dir "/usr/local/redis7.0.0/redis-7.0.0/myredis"
  9. 设置密码 requirepass "123456"
  10. 设置master密码,masterauth "123456"
  11. cluster-enabled yes 开启集群
  12. cluster-config-file nodes-7369.conf 集群配置文件
  13. cluster-node-timout 5000 集群通讯超时时间
  • 启动服务器
  1. redis/bin/redis-server redis7.0.0/myredis/redis7369.conf
  2. 设置集群关系 redis/bin/redis-cli -a 123456 --cluster create --cluster-replicas 1 host:7369 host:7370 host:7371 host:7372 host:7373 host:7374
  3. 链接master 7369,CLUSTER NODES查看集群关系
  4. 在master set值时会报错,原因是因为当值的槽位,不在当前机器的槽位的范围。解决方案:在链接的时候加- c
  5. 当节点master节点宕机,slave会自动转成master。如果宕机的master重启,之前的master会成slave。如果需要达到原来的顺序。执行 CLUSTER NODES 命令
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值