Redis哨兵模式(Sentinel)的搭建与配置

Redis 哨兵模式(Sentinel)是一个自动监控处理 redis 间故障节点转移工作的一个redis服务端实例,它不提供数据存储服务,只进行普通 redis 节点监控管理,使用redis哨兵模式可以实现redis服务端故障的自动化转移。

一、搭建redis主从集群

1、创建3个redis实例

关于redis的搭建,可以参考历史文章。

​https://mp.weixin.qq.com/s/RaWy0sqRxcAti1qbv-GbZQ​

如果有编译好的二进制文件,则直接部署redis实例即可。

创建三个redis实例所需的目录,生产环境需独立部署在不同主机上,提高稳定性。

mkdir-p/data/redis
cd/data/redis/
mkdirredis6379redis6380redis6381
cdredis6379
vimredis.conf
#添加如下配置
bind0.0.0.0
protected-modeno
port6379
tcp-backlog511
timeout30
tcp-keepalive300
daemonizeyes
supervisedno
pidfile/data/redis/redis6379/redis_6379.pid
loglevelnotice
logfile"/data/redis/redis6379/redis6379.log"
databases16
stop-writes-on-bgsave-erroryes
rdbcompressionyes
rdbchecksumyes
dbfilenamedump.rdb
dir/data/redis/redis6379
masterauth123456
slave-serve-stale-datayes
slave-read-onlyyes
#将配置文件拷贝到其他2个实例的目录下
cpredis.conf ../redis6380.conf
cpredis.conf ../redis6381.conf
sed-i"s#6379#6380#g" ../redis6380/redis.conf
sed-i"s#6379#6381#g" ../redis6381/redis.conf
#redis实例不建议使用root账号启动,单独创建一个redis用户,并修改redis相关目录的权限
useraddredis
chown-Rredis:redis/data/redis
su-redis
#启动三个redis实例
redis-server/data/redis/redis6379/redis.conf
redis-server/data/redis/redis6380/redis.conf
redis-server/data/redis/redis6381/redis.conf

2、配置主从同步

进入2个实例,配置同步,配置完成后去主节点检查一下是否正常。

[redis@testredis6379]$redis-cli-p6380-a"123456"
Warning: Usingapasswordwith'-a'optiononthecommandlineinterfacemaynotbesafe.
127.0.0.1:6380>slaveof127.0.0.16379
OK
127.0.0.1:6380>exit
[redis@testredis6379]$redis-cli-p6381-a"123456"
Warning: Usingapasswordwith'-a'optiononthecommandlineinterfacemaynotbesafe.
127.0.0.1:6381>slaveof127.0.0.16379
OK
127.0.0.1:6381>exit
[redis@testredis6379]$redis-cli-p6379-a"123456"
Warning: Usingapasswordwith'-a'optiononthecommandlineinterfacemaynotbesafe.
127.0.0.1:6379>inforeplication
#Replication
role:master
connected_slaves:2
slave0:ip=127.0.0.1,port=6380,state=online,offset=42,lag=0
slave1:ip=127.0.0.1,port=6381,state=online,offset=42,lag=1
master_replid:b8a19f5afae13d3da38b359244dc0f560df03176
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:42
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:42
127.0.0.1:6379>

可见 当前主从同步已建立。

二、哨兵模式搭建

1、创建3个哨兵实例

mkdir-p/data/redis/redis_sentinel/
cd/data/redis/redis_sentinel/
mkdirsentinel26379sentinel26380sentinel26381
cdsentinel26379
#初始化配置文件如下
vimredis_sentinel_26379.conf
bind0.0.0.0
port26379
daemonizeyes
dir"/data/redis/redis_sentinel/sentinel26379"
pidfile"/data/redis/redis_sentinel/sentinel26379/redis_sentinel26379.pid"
logfile"/data/redis/redis_sentinel/sentinel26379/redis_sentinel26379.log"
#GeneratedbyCONFIGREWRITE
sentineldeny-scripts-reconfigyes
sentinelmonitortestdb127.0.0.163792
sentineldown-after-millisecondstestdb5000
sentinelauth-passtestdb123456
#配置文件拷贝至另2个实例
cpredis_sentinel_26379.conf ../sentinel26380/redis_sentinel_26380.conf
sed-i"s#26379#26380#g" ../sentinel26380/redis_sentinel_26380.conf
cpredis_sentinel_26379.conf ../sentinel26381/redis_sentinel_26381.conf
sed-i"s#26379#26381#g" ../sentinel26381/redis_sentinel_26381.conf

配置文件主要参数说明:

参数名

说明

bind

绑定的可以访问的主机IP,0.0.0.0 代表不限制

port

哨兵实例的端口

sentinel monitor testdb 127.0.0.1 6379 1

testdb任意定义,哨兵集群名称,127.0.0.1 6379 redis实例主节点 ;1 代表当1个哨兵实例判断主库不可用则进行转移,生产环境节点数要配置多一点

sentinel down-after-milliseconds testdb 5000

testdb同上,down-after-milliseconds代表 master 最长响应时间,超过这个时间就主观判断它下线,5000 代表5000ms,即5s

sentinel auth-pass testdb 123456

123456 是redis实例的登录密码

2、启动哨兵实例

redis-sentinel  /data/redis/redis_sentinel/sentinel26379/redis_sentinel_26379.conf 
redis-sentinel /data/redis/redis_sentinel/sentinel26380/redis_sentinel_26380.conf
redis-sentinel /data/redis/redis_sentinel/sentinel26381/redis_sentinel_26381.conf

启动后配置文件会自动新增如下红框中的内容。

登录哨兵实例查看。

redis-cli-p26379

3、测试

测试将主节点down机。

redis-cli-p6379-a123456shutdown

再查看哨兵找那个的master结果,如下:

日志信息如下:

1895:X29Apr23:57:31.778#+sdownmastertestdb127.0.0.16379
1895:X29Apr23:57:31.779#+odownmastertestdb127.0.0.16379#quorum1/1
1895:X29Apr23:57:31.779#+new-epoch1
1895:X29Apr23:57:31.779#+try-failovermastertestdb127.0.0.16379
1895:X29Apr23:57:31.795#+vote-for-leader4928b4d4dfd762cd50fa540b7a0903d2be3b0f951
1895:X29Apr23:57:31.796#+elected-leadermastertestdb127.0.0.16379
1895:X29Apr23:57:31.796#+failover-state-select-slavemastertestdb127.0.0.16379
1895:X29Apr23:57:31.862#+selected-slaveslave127.0.0.1:6380127.0.0.16380@testdb127.0.0.16379
1895:X29Apr23:57:31.862*+failover-state-send-slaveof-nooneslave127.0.0.1:6380127.0.0.16380@testdb127.0.0.16379
1895:X29Apr23:57:31.991*+failover-state-wait-promotionslave127.0.0.1:6380127.0.0.16380@testdb127.0.0.16379
1895:X29Apr23:57:32.223#+promoted-slaveslave127.0.0.1:6380127.0.0.16380@testdb127.0.0.16379
1895:X29Apr23:57:32.223#+failover-state-reconf-slavesmastertestdb127.0.0.16379
1895:X29Apr23:57:32.273*+slave-reconf-sentslave127.0.0.1:6381127.0.0.16381@testdb127.0.0.16379
1895:X29Apr23:57:33.231*+slave-reconf-inprogslave127.0.0.1:6381127.0.0.16381@testdb127.0.0.16379
1895:X29Apr23:57:33.231*+slave-reconf-doneslave127.0.0.1:6381127.0.0.16381@testdb127.0.0.16379
1895:X29Apr23:57:33.296#+failover-endmastertestdb127.0.0.16379
1895:X29Apr23:57:33.296#+switch-mastertestdb127.0.0.16379127.0.0.16380
1895:X29Apr23:57:33.297*+slaveslave127.0.0.1:6381127.0.0.16381@testdb127.0.0.16380
1895:X29Apr23:57:33.297*+slaveslave127.0.0.1:6379127.0.0.16379@testdb127.0.0.16380
1895:X29Apr23:57:38.356#+sdownslave127.0.0.1:6379127.0.0.16379@testdb127.0.0.16380

再把6379端口启动,可以看到节点自动加入集群,且作为从节点。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/247728.html<

(0)
运维的头像运维
上一篇2025-04-27 06:18
下一篇 2025-04-27 06:19

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注