2023-04-04 11:37:40 来源:腾讯云
Redis 哨兵集群是 Redis 的高可用解决方案之一,它可以在 Redis 主节点出现故障时,自动将从节点切换为主节点,从而实现高可用性。本文将介绍如何在 Linux 系统上安装 Redis 哨兵集群。
环境准备
在开始安装 Redis 哨兵集群之前,需要准备以下环境:
(资料图)
Linux 操作系统,本文以 Ubuntu 18.04 为例。Redis 服务,可以使用单机版的 Redis 服务或者 Redis 集群服务。安装 Redis 哨兵
在安装 Redis 哨兵之前,需要先安装 Redis 服务。可以参考 Redis 官方文档或者本站的 Redis 安装教程进行安装。
安装 Redis 哨兵的步骤如下:
下载 Redis 哨兵源码包,并解压缩。
wget http://download.redis.io/redis-stable.tar.gztar zxvf redis-stable.tar.gzcd redis-stable
编译并安装 Redis 哨兵。
makemake install
复制 Redis 配置文件,并进行修改。
cp redis.conf /etc/redis/sentinel.conf
在修改配置文件之前,需要先了解 Redis 哨兵的配置参数。Redis 哨兵的配置文件和 Redis 单机版或集群版的配置文件类似,不同之处在于 Redis 哨兵的配置文件中包含了监控的 Redis 主从节点的信息。下面是一个简单的 Redis 哨兵配置文件的示例:
port 26379daemonize yeslogfile "/var/log/redis/sentinel.log"dir "/tmp"sentinel monitor mymaster 127.0.0.1 6379 2sentinel down-after-milliseconds mymaster 5000sentinel failover-timeout mymaster 180000sentinel parallel-syncs mymaster 1
其中:
port
: Redis 哨兵监听的端口号,默认为 26379。daemonize
: 是否以守护进程方式运行 Redis 哨兵,默认为 yes。logfile
: Redis 哨兵日志文件的路径。dir
: Redis 哨兵数据文件的保存路径。sentinel monitor
: 监控的 Redis 主节点的名称、IP 地址、端口号和最小的从节点数。sentinel down-after-milliseconds
: Redis 主节点失效的时间阈值,单位为毫秒。sentinel failover-timeout
: Redis 主节点失效后进行故障转移的时间阈值,单位为毫秒。sentinel parallel-syncs
: 故障转移时最多同时同步的从节点数。启动 Redis 哨兵。
redis-sentinel /etc/redis/sentinel.conf
启动 Redis 哨兵之后,可以通过命令 ps aux | grep redis
来查看 Redis 哨兵的进程是否已经启动。
配置 Redis 主从复制
在 Redis 哨兵监控的主节点和从节点之间需要进行主从复制。具体的步骤如下:
修改 Redis 主节点的配置文件。
在 Redis 主节点的配置文件中,需要开启主从复制功能,并设置复制密码。可以通过编辑 /etc/redis/redis.conf
文件来修改 Redis 主节点的配置文件。将 # requirepass foobared
这一行取消注释,并将 foobared
修改为复制密码,如下所示:
# 设置 Redis 密码requirepass mypassword# 开启主从复制slaveof 127.0.0.1 6380
修改 Redis 从节点的配置文件。
在 Redis 从节点的配置文件中,需要设置复制密码,并将从节点设置为只读模式。可以通过编辑 /etc/redis/redis.conf
文件来修改 Redis 从节点的配置文件。将 # slave-read-only yes
这一行取消注释,并将 # masterauth
修改为复制密码,如下所示:
# 设置 Redis 密码requirepass mypassword# 设置从节点只读slave-read-only yes# 设置主节点地址和密码slaveof 127.0.0.1 6379masterauth mypassword
重启 Redis 主从节点。
在修改了 Redis 主从节点的配置文件之后,需要重启 Redis 服务,使配置生效。
bashCopy codesudo systemctl restart redis
验证主从复制是否正常。
可以使用 Redis 的命令行工具 redis-cli
连接到 Redis 主节点和从节点,并执行 info replication
命令来验证主从复制是否正常。如果主从复制正常,info replication
命令的输出应该包含以下信息:
role:master
: 主节点的角色为主节点。connected_slaves
: 从节点的数量。slave0
: 从节点的信息,包括 IP 地址、端口号等。master_replid
: 主节点的复制 ID。master_replid2
: 主节点的复制 ID。配置 Redis 哨兵集群
在 Redis 哨兵集群中,通常有多个 Redis 哨兵节点和多个 Redis 主从节点。为了实现高可用性,需要在多个 Redis 哨兵节点之间进行协调,并在 Redis 主从节点出现故障时进行故障转移。
在配置 Redis 哨兵集群之前,需要先了解 Redis 哨兵集群的配置参数。Redis 哨兵集群的配置文件和 Redis 哨兵的配置文件类似,不同之处在于 Redis 哨兵集群的配置文件中需要设置多个 Redis 哨兵节点的信息。下面是一个简单的 Redis 哨兵集群配置文件的示例:
port 26379sentinel monitor mymaster 127.0.0.1 6379 2sentinel auth-pass mymaster mypasswordsentinel down-after-milliseconds mymaster 5000sentinel failover-timeout mymaster 10000sentinel parallel-syncs mymaster 1sentinel client-reconfig-script mymaster /etc/redis/sentinel-client-reconfig.shsentinel notification-script mymaster /etc/redis/sentinel-notification.shsentinel auth-pass mymaster mypassword
下面解释一下这些参数的含义:
port
: Redis 哨兵节点的监听端口号。sentinel monitor
: 配置 Redis 主从节点的信息,包括主节点的名称、IP 地址、端口号、哨兵节点需要至少多少个哨兵节点确认主节点故障才能执行故障转移等信息。sentinel auth-pass
: 设置 Redis 主从节点的复制密码。sentinel down-after-milliseconds
: 配置哨兵节点在多长时间内无法连接到主节点时认为主节点已经下线。sentinel failover-timeout
: 配置故障转移的超时时间。sentinel parallel-syncs
: 配置故障转移时同时同步数据的从节点数量。sentinel client-reconfig-script
: 配置在故障转移时需要执行的客户端脚本。sentinel notification-script
: 配置在故障转移时需要执行的通知脚本。在配置完 Redis 哨兵集群的配置文件后,需要在多个 Redis 哨兵节点上启动 Redis 哨兵服务,并将它们连接到 Redis 主从节点上。可以使用以下命令启动 Redis 哨兵服务:
redis-sentinel /path/to/sentinel.conf
其中 /path/to/sentinel.conf
是 Redis 哨兵集群的配置文件路径。启动 Redis 哨兵服务之后,可以使用 ps aux | grep redis
命令来检查 Redis 哨兵服务是否已经启动。
标签:
- 生活知识 孤儿怨小女孩的扮演者
- 电信诈骗致2万余人受骗 26名涉案被告人在长春受审
- 内蒙古扎赉诺尔区除提供主副食品商店和药店外 其余暂时停业
- 黄埔海关破获案值5.2亿元走私进口木材案
- 四川省纪委监委曝光6起工程招投标领域突出问题系统治理典型案例
知识
- 知识问答 狗细小是什么病
- 他把银行卡卖给骗子,“黑吃黑”“截胡”十万元
- “老司机”4S店试驾豪车 结果油门当刹车撞了
- 新开工改造城镇老旧小区5.34万个
- 发动巡河志愿者2万余名 “用心护好每一条河”
人物
- 文化 怎么申请鸿蒙系统
- 浙江两轮核酸检测结果均为阴性 无新增本土阳性感染者
- 新疆阿克苏地区库车市发生4.1级地震 震源深度18千米
- 抵返哈尔滨人员须持48小时内核酸检测阴性证明
- 浙大紫金港校区已解封 有7337人有序离开该校区
- 2021年广东省第七届风筝锦标赛落幕
- 黑龙江讷河市启动全员核酸检测 目前讷河市全员核酸检测结果均为阴性
- 【同心粤港澳 携手大湾区】南头古城,搭建深港澳三地文化创意活动交流平台
- 重庆入河排污口整治工作推进至全市26个区县
- 四川省第二批政法队伍教育整顿:立案审查调查省级政法机关干警58人
- 长三角区域生态环境部门“云签约”长江大保护倡议书
- 古老长城重焕新生机
- 藏不住了!你同事里有许多“武林高手”……
- 浙江杭州2例无症状感染者系感染德尔塔变异株
- 喜马拉雅的深情和誓言
- 浪漫之城打造山海城一体新地标
- 让老年人更适应数字生活
- 内蒙古通辽市新增1例本土确诊病例、1例无症状感染者
- 徐州无新增确诊病例 核酸检测55515人结果均为阴性
- 甘肃培树“农家巧娘”增技能:返乡创业掌勺又“掌柜”
- 内蒙古通辽市科尔沁区一地调整为中风险地区
- 上海本轮疫情涉及闭环管理的医疗机构全面恢复门急诊
- 青年学生成艾滋病感染高发人群 “社会疫苗”如何打?
- 内蒙古满洲里新增本土确诊病例1例 当地开展第二轮大规模核酸检测
- 江西无新增本土确诊病例 上饶全面恢复正常生产生活秩序
- 中老铁路上会四国语言的列车长:用心维护中老友谊的桥梁
- 海南首次发现有环志的世界极危鸟种勺嘴鹬
- 一场“网络劝生者”和“网络劝死者”的战役
- 内蒙古通辽新增本土确诊和无症状感染者各1例 轨迹公布
- 江西中烟工业有限责任公司原总经理姚庆艳接受审查调查
- 宁夏45例新冠肺炎确诊病例均已治愈出院
- 内蒙古通辽市科尔沁区发现2名初筛阳性人员
- 生活在闹钟里的丈夫:自己迟一秒,渐冻症妻子就会多一分疼
- 辽宁新冠肺炎确诊病例零新增
- 11月28日16-24时,内蒙古新增本土确诊病例1例
- 奥密克戎毒株为何“需要关注”?现有防疫工具还有效吗?
- 黑龙江新增本土无症状感染者1例
- 这辈子一定要去趟这个公园 在这里“有种爱叫放手”
- 那年今日 | 一张漫画涨知识之11月29日
- 寒潮预警!我国中东部迎大范围降温 黑龙江等地降幅可达12℃
- 冷空气继续影响我国中东部 华北黄淮等地有雾和霾天气