集群搭建
打开四个窗口,分别进入目录
分别拷贝 redis.conf
这个配置文件 3
份
分别修改上面的配置文件
编辑修改的文内容为:下面以 redis6381.conf
文件为例说明
bind 127.0.0.1 # 此处不用修改
port 6381 # 修改端口
daemonize yes # 改为后台运行
pidfile /var/run/redis_6381.pid # pid 文件改为相应的
logfile "6381.log" # 日志文件改为相应的
dbfilename dump6381.rdb # rdb 文件改为相应的
分别启动各个服务
查看后台 Redis
的运行进程
一主二从架构搭建
在默认的情况下,Redis
的每台服务器都是主节点。想要搭建主从架构集群,我们只要配置从节点的服务器即可
命令的方式
配置第一个从节点服务器
查看主节点服务器信息
配置第二个从节点服务器
再次查看主节点服务器信息
修改配置文件的方式
# replicaof <masterip> <masterport>
slaveof 127.0.0.1 6379 # 配置主节点服务器的 IP,端口
从节点的配置文件修改位置
测试: 如果主机断开了连接,此时从机依旧是连接到主机的,但是写数据的操作此时是不能进行了。如果主机恢复连接了,从机依旧可以直接获取到主机写的数据
主机宕机手动切换配置主机
在主从架构中,如果主机突然宕机,可以使用手动命令来重新选择从机成为新的主机
slaveof no one # 选择新的主机的命令
哨兵模式的搭建
本次哨兵模式的搭建是建立在一主二从的架构模式基础上的。主节点为: 127.0.0.1 6379
,从节点分别为: 127.0.0.1 6380
和 127.0.0.1 6381
配置哨兵的配置文件 sentinel.conf
# sentinel monitor 主机名称(自定义) host port 1
# 1: 表示主机宕机后,从机会投票选举主机,票数最多的,就会成为主机
sentinel monitor myredis 127.0.0.1 6379 1
启动哨兵
测试哨兵模式:关闭主节点服务器进行测试,让哨兵去自动选取新的主节点
查看哨兵的日志
分别查看两个从节点角色状态:127.0.0.1 6380
从节点 127.0.0.1 6381
信息状态
如果此时主机服务器恢复服务了,那么它只能归并到新的主机下面,作为从机提供服务
哨兵模式的特点优点
- 哨兵模式,是基于主从同步模式的,主从同步的优点,它都有
- 主机从机可以进行自动切换,故障可以转移,大大提高了高可用性
- 哨兵模式就是主从同步模式的升级。手动切换~~~~自动切换
哨兵模式的缺点
Redis
在线扩容困难,集群容量一旦达到上限,在线扩容十分麻烦- 哨兵模式的配置其实很麻烦
哨兵模式配置大全
sentinel monitor mymaster 127.0.0.1 6379 1
# Sentinel 去监视一个被命名为 mymaster 的master,可指定为任何名字。Master IP 为 127.0.0.1,端口号为 6379,
# 这个 master 判断为失效至少需要 1 个 Sentinel 同意(只要同意 Sentinel 的数量不达标,自动故障迁移就不会执行)注意,
# 无论你设置多少个 Sentinel 同意才能判断一个服务器失效,一个 Sentinel 都需要获得系统中多数(majority) Sentinel 的支持,
# 才能发起一次自动故障迁移
sentinel down-after-milliseconds mymaster 30000:
# 指定了 Sentinel 认为master已经断线所需的毫秒数
sentinel parallel-syncs mymaster 1
# parallel-syncs 指定了在执行故障转移时, 最多可以有多少个slave同时对新的master进行同步, 这个数字越小,
# 完成故障转移所需的时间就越长
sentinel failover-timeout mymaster 180000
# failover-timeout 指定故障切换允许的毫秒数,超过这个时间,就认为故障切换失败,默认为3分钟