前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在一台机器上配置 redis 哨兵模式

在一台机器上配置 redis 哨兵模式

作者头像
北漂的我
发布2021-01-18 10:39:21
1.5K0
发布2021-01-18 10:39:21
举报
文章被收录于专栏:北漂的我北漂的我

在同一台机器上配置哨兵模式, 可用于测试开发场景

下载redis

代码语言:javascript
复制
wget https://github.com/redis/redis/archive/5.0.10.tar.gz

解压到三个文件夹, redis-1, redis-2, redis-3

进行 make 编译, 参考这里

在本机上配置哨兵模式, 重点是使用不同的端口

redis服务

redis端口

哨兵端口

主从

redis-1

6379

26379

主节点

redis-2

6380

26380

从节点

redis-3

6381

26381

从节点

配置 ./redis-1/redis.conf, 如下

代码语言:javascript
复制
# bind 127.0.0.1     // 注释掉这一行
protected-mode no    // 关闭保护模式
port 6379            // redis 端口
requirepass 10010    // 设置redis密码

配置 ./redis-2/redis.conf, 如下

代码语言:javascript
复制
# bind 127.0.0.1     // 注释掉这一行
protected-mode no    // 关闭保护模式
port 6380            // redis 端口
requirepass 10010    // 设置redis密码
replicaof 192.168.171.213 6379     // 配置 master 的IP和端口
masterauth 10010       // 配置 master 的密码

配置 ./redis-3/redis.conf, 如下

代码语言:javascript
复制
# bind 127.0.0.1     // 注释掉这一行
protected-mode no    // 关闭保护模式
port 6381            // redis 端口
requirepass 10010    // 设置redis密码
replicaof 192.168.171.213 6379     // 配置 master 的IP和端口
masterauth 10010       // 配置 master 的密码

配置 ./redis-1/sentinel.conf, 如下

代码语言:javascript
复制
port 26379      // 哨兵端口
daemonize yes   // 开启守护进程
sentinel monitor mymaster 192.168.171.213 6379 2    // 监控 master ip 端口
sentinel auth-pass mymaster 10010       // master的密码

配置 ./redis-2/sentinel.conf, 如下

代码语言:javascript
复制
port 26380      // 哨兵端口
daemonize yes   // 开启守护进程
sentinel monitor mymaster 192.168.171.213 6379 2    // 监控 master ip 端口
sentinel auth-pass mymaster 10010       // master的密码

配置 ./redis-3/sentinel.conf, 如下

代码语言:javascript
复制
port 26381      // 哨兵端口
daemonize yes   // 开启守护进程
sentinel monitor mymaster 192.168.171.213 6379 2    // 监控 master ip 端口
sentinel auth-pass mymaster 10010       // master的密码

然后依次启动 主节点 ---> 从节点

代码语言:javascript
复制
# 启动 redis
./redis-1/src/redis-server ./redis-1/redis.conf > /dev/null 2>&1 &
./redis-2/src/redis-server ./redis-2/redis.conf > /dev/null 2>&1 &
./redis-3/src/redis-server ./redis-3/redis.conf > /dev/null 2>&1 &
# 启动哨兵
./redis-1/src/redis-sentinel ./redis-1/sentinel.conf
./redis-2/src/redis-sentinel ./redis-2/sentinel.conf
./redis-3/src/redis-sentinel ./redis-3/sentinel.conf
# 关闭 redis
./redis-1/src/redis-cli -a 10010 shutdown
./redis-2/src/redis-cli -a 10010 shutdown
./redis-3/src/redis-cli -a 10010 shutdown

最后要检查服务器防火墙有没有开放这些端口 6379, 6380, 6381, 26379, 26380, 26381

代码语言:javascript
复制
# 查看哪些端口是开放的
firewall-cmd --list-ports
# 开放端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
# 移除端口
firewall-cmd --zone=public --remove-port=6379/tcp --permanent
# 重启防火墙生效
firewall-cmd --reload

测试故障转移

代码语言:javascript
复制
# 主节点上执行
./redis-1/src/redis-cli -a 10010 -p 6379 
debug sleep 40
info
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档