资讯 更多 >>
国内油价将迎来下调:国际原油跌破9...
国家能源局:今年以来我国煤炭生产...
河南4名阳性人员私自返乡并瞒报情况...
山西吕梁:发现盗采矿产资源行为可举报
受害方律师:接法院通知,乐安命案...
橙色——“柑橘院士”邓秀新心中最...
刷视频相认的双胞胎姐妹:两次创业...
四川通报2021年秋冬季首批大气污染...
首轮筛查:天津73443人全部阴性!
首席气象预报员张霞:30年坚守筑牢...
动态更多 >>
你们,温暖了2021
西安市新增27个中风险地区 目前有1...
广西新增本土确诊病例1例
哈尔滨市全域均为低风险地区
寒潮将影响我国中东部地区 四川盆...
昆明至哈尔滨一航班发现1名入境复阳...
陕西研考:封控区内考生在原报考点...
北京今日最高气温仅5℃ 明起强冷空...
那年今日 | 历史上的12月22日发生...
我要找债主
会展 更多 >>
美籍酿酒师在崇礼:中国是第二故乡...
河南项城报告2名疑似新冠肺炎病例 ...
浙江绍兴确诊病例首次零新增 上虞...
广西东兴实行全员居家隔离 启动口...
新疆全方位推进乡村振兴 “富春山...
云南瑞丽市主城区全员核酸检测结果...
内蒙古满洲里累计治愈出院本土确诊...
孙海洋夫妻驱车山东阳谷:还在为孙...
大国工匠追梦“玉米强国”40载:用...
让南海“海洋热带雨林”斑斓多彩
专题报道 
当前位置: 关注 > >> 正文
 
redis 哨兵集群安装
来源:腾讯云     时间:2023-03-31 17:45:51

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 哨兵服务是否已经启动。

关键词:

热门推荐
猜你喜欢