Linux企业实战-redis(4)集群

节点
Redis Cluster是分布式架构:即Redis Cluster中有多个节点,每个节点都负责进行数据读写操作每个节点之间会进行通信。
meet操作
节点之间会相互通信
meet操作是节点之间完成相互通信的基础,meet操作有一定的频率和规则

实现redis集实例

关闭之前的redis端口

创建文件夹

vim redis.conf

port 7001
cluster-enabled yes 
cluster-config-file nodes.conf cluster-node-timeout 5000
appendonly yes 
pidfile "/usr/local/rediscluster/7001/redis.pid"
Logfile "/usr/Local/rediscluster/7001/redis.Log"
daenonize yes 
dir "/usr/iocal/rediscluster/7001"

启动这个文件redis-server redis.conf

生成一些配置文件

分别将这些文件放置到每一个主机上

分别修改里面对应的端口号为对应的7002.....6

然后启动redis文件

redis-server redis.conf

进入info查看信息enabled是1证明集群是激活的

现在我们已经有了六个正在运行中的Redis实例,接下来我们需要使用这些实例来创建集群,并为每个节点编写配置文件。
通过使用Redis集群命令行工具redis-trib,编写节点配置文件的工作可以非常容易地完成:redis-trib位于Redis源码的src文件夹中,它是一个Ruby程序,这个程序通过向实例发送特殊命令来完成创建新集群,检查集群,或者对集群进行重新分片(reshared)等工作。

这里需要安装ruby

搭建集群

分配槽
e16384个槽平均分配给节点进行管理,每个节点只能对自己负责的槽进行读写操作
由于每个节点之间都彼此通信,每个节点都知道另外节点负责管理的槽范围
客户端访问任意节点时,对数据key按照CRC16规则进行
hash运算,然后对运算结果对16383进行取作,如果余数在当前访问的节点管理的槽范围内,则直接返回对应的数据如果不在当前节点负责管理的槽范围内,则会告诉客户端去哪个节点获取数据,由客户端去正确的节点获取数据

测试存储信息

关闭7002发现7006代替7002变成master,有0个slave

通过appendonly.aof恢复数据

启动redis

7006中也要进行该操作

发现key在7006中

添加新的节点

修改端口号将7001分别改为7007和7008

然后启动redis

将其添加到集群中去

将7008添加到节点中

查看

给7007添加数据槽

再次查看每个人的槽都一样了

再次查看7008已经得到了数据

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值