总结:整理不易,如果对你有帮助,可否点赞关注一下?
更多详细内容请参考:《Linux运维篇:Linux系统运维指南》
redis.io/docs/latest/operate/oss_and_stack/install/install-redis/install-redis-from-source/" rel="nofollow">一、简介
Redis 哨兵模式是一种高可用性解决方案,它通过监控 Redis 主从架构,自动执行故障转移,从而确保服务的连续性。哨兵模式的核心组件包括哨兵(Sentinel)节点、主节点(Master)和从节点(Slave)。
哨兵其实就是一个运行在特殊模式下的 Redis 进程,主从节点实例运行的同时,它也在运行。哨兵主要负责的就是三个任务: 监控、选择主节点、通知。
1、监控:指哨兵进程在运行时,会周期性地给所有的主从节点发送 PING 命令,检测它们是否仍在运行。如果从节点没有在规定时间内响应哨兵的 PING 命令,哨兵就会把它标记为 “下线状态”;同样,如果主节点也没有在规定时间内响应哨兵的 PING 命令,哨兵就会判定主节点下线,然后开始自动选择新的主节点。
2、选择主节点:主节点挂了以后,哨兵就需要从很多个从节点里,按照一定的规则选择一个从节点实例,把它作为新的主节点。这一步完成后,现在的集群里就有了新的主节点。
3、通知:在执行通知任务时,哨兵会把新主节点的连接信息发给其他从节点,让它们执行 replicaof 命令,和新主节点建立连接,并进行数据复制。同时,哨兵会把新主节点的连接信息通知给客户端,让它们把请求操作发到新主节点上。
二、部署说明
主机IP | 主机名 | 操作系统 | 内核版本 | redis版本 | 服务启动用户 |
---|---|---|---|---|---|
192.168.1.111 | redis-master | Kylin Linux Advanced Server V10 (Tercel) | 4.19.90-17.5.ky10.aarch64 | 6.2.14 | redis |
192.168.1.112 | redis-slave | Kylin Linux Advanced Server V10 (Tercel) | 4.19.90-17.5.ky10.aarch64 | 6.2.14 | redis |
192.168.1.113 | redis-sentinel | Kylin Linux Advanced Server V10 (Tercel) | 4.19.90-17.5.ky10.aarch64 | 6.2.14 | redis |
三、安装前准备
3.1、配置主机名
1、master节点
[root@ecs-1580 ~]# hostnamectl set-hostname redis-master && bash
2、slave节点
[root@ecs-1581 ~]# hostnamectl set-hostname redis-slave && bash
3、sentinel节点
[root@ecs-1582 ~]# hostnamectl set-hostname redis-sentinel && bash
3.2、配置hosts解析
vim /etc/hosts
192.168.1.111 redis-master
192.168.1.112 redis-slave
192.168.1.113 redis-sentinel
3.3、创建启动用户
groupadd --gid 1301 redis
useradd -u 1301 -g 1301 -d /home/redis -s /usr/sbin/nologin -m redis
3.4、系统参数配置
1、修改内存分配参数
echo "vm.overcommit_memory = 1" >>/etc/sysctl.conf
sysctl -p
2、修改文件描述符
vim /etc/security/limits.conf
redis soft nofile 100000
redis hard nofile 100000
3.5、创建相关目录
1、master节点