redis一主多从集群搭建

基本概念:

单个Redis如果因为某种原因宕机的话,可能会导致Redis服务不可用,可以使用主从复制实现一主多从,主节点负责的操作,从节点负责的操作,主节点会定期将数据同步到从节点中,保证数据一致性的问题。

一 采用树状方式搭建集群

1.如下图,准备7台服务器,主节点(master) IP为 192.168.1.100

2. 集群搭建

a. 192.168.1.100  主节点(master)不需要配置

全部从节点配置好后,使用info replication 可以看到 当前role: master 主节点,多条slave 是它的从节点

b. 192.168.1.101 和192.168.1.102  配置从节点

vim redis.config 

增加 slaveof 指向主节点

增加主节点的 密码

相关配置redis.conf
# replicaof <masterip> <masterport>
slaveof 192.168.1.100 6379

#redis密码
masterauth 123456  

info replication 查看集群信息,可以看到当前角色 role: slave 

c. 192.168.1.201 和 192.168.1.301  配置从节点

相关配置redis.conf
# replicaof <masterip> <masterport>
slaveof 192.168.1.101 6379

#redis密码
masterauth 123456  

d. 192.168.1.202 和 192.168.1.302  配置从节点

相关配置redis.conf
# replicaof <masterip> <masterport>
slaveof 192.168.1.102 6379

#redis密码
masterauth 123456  

到这里就配置完成,主节点用于读和写,从节点只能读。

注意:在分布式领域不可能实现绝对强一致性 毕竟是有网络原因

Redis的主从复制作用:

  1. 实现Redis集群
  2. 数据的备份
  3. 读写分离

主从复制需要注意问题: 主节点会将数据采用增量或者全量形式同步给从节点保证数据的一致性问题,传统的一主多同步效率比较 建议采用树状形式。

主从复制原理过程:

1.需要在从redis服务器配置在slaveof 执行 主redis服务ip地址和端口号

192.168.1.100:6379 (主的服务) 和密码;

2.从Redis服务器和主Redis服务器建立Socket长连接;

3.采用全量和增量形式将数据同步给从Redis服务器

 全量:从Redis首次启动的时候 (二进制执行dump 文件) rdb

 增量:主Redis每次有新的set请求时候 aof 日志文件

主从复制还存在那些缺陷?

如果主的节点宕机之后,可能会导致整个Redis服务不能够实现写操作需要我们人为从新修改新的主的操作。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
搭建 Redis三从集群的命令如下: 1. 启动 6 个 Redis 服务,分别监听不同的端口(例如 7000、7001、7002、7003、7004、7005): ``` redis-server /path/to/redis.conf ``` 2. 创建 6 个 Redis 配置文件,分别配置监听端口、数据存储路径、集群节点信息等: ``` port 7000 cluster-enabled yes cluster-config-file nodes-7000.conf cluster-node-timeout 5000 appendonly yes dir /path/to/data/7000/ port 7001 cluster-enabled yes cluster-config-file nodes-7001.conf cluster-node-timeout 5000 appendonly yes dir /path/to/data/7001/ port 7002 cluster-enabled yes cluster-config-file nodes-7002.conf cluster-node-timeout 5000 appendonly yes dir /path/to/data/7002/ port 7003 cluster-enabled yes cluster-config-file nodes-7003.conf cluster-node-timeout 5000 appendonly yes dir /path/to/data/7003/ port 7004 cluster-enabled yes cluster-config-file nodes-7004.conf cluster-node-timeout 5000 appendonly yes dir /path/to/data/7004/ port 7005 cluster-enabled yes cluster-config-file nodes-7005.conf cluster-node-timeout 5000 appendonly yes dir /path/to/data/7005/ ``` 3. 将 6 个 Redis 节点加入到集群中: ``` redis-cli --cluster create 127.0.0.1:7000 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 --cluster-replicas 1 ``` 其中,`--cluster-replicas 1` 表示每个节点有一个从节点。 4. 验证集群是否搭建成功: ``` redis-cli -c > cluster info > cluster nodes ``` 如果输出信息中没有出现错误,说明 Redis 集群搭建成功。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值