redis哨兵模式搭建

一、搭建前准备工作

节点 主机名 ip
redis-master redis01 10.101.72.165
redis-slave1 redis02 10.101.72.166
redis-slave2 redis03 10.101.72.167
#可以复用之前的设备

#关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
#关闭selinux
setenforce 0
vi /etc/sysconfig/selinux
二、部署redis
redis最新版本在官网可以直接下载到,在三个节点上分别进行redis的部署,看具体版本
wget http://download.redis.io/releases/redis-5.0.4.tar.gz
步骤:
1–配置,redis.conf
bind 0.0.0.0
pidfile “/var/run/redis_6379.pid”
daemonize yes

2–自启动配置
vi /usr/lib/systemd/system/redis.service
[Unit]
Description=Redis
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/var/run/redis_6379.pid
ExecStart=/usr/local/bin/redis-server /usr/local/redis/redis.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target

systemctl daemon-reload
systemctl start redis
systemctl enable redis

三、启用redis-sentinel(哨兵集群)
Sentinel(哨兵)是Redis 的高可用性解决方案:由一个或多个Sentinel 实例 组成的Sentinel 系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,
并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器。
sentinel配置
#Sentinel使用端口
port 26379

#打开非保护模式
protected-mode no

#守护线程启动(即后台启动)
daemonize yes

#守护进程会使用到的一个文件
pidfile “/var/run/redis-sentinel.pid”

#指定日志文件名,默认为"",空字符串也可用于强制Sentinel登录标准输出,指定后我们可以通过tail -f xxx.log查看日志
logfile “/usr/local/lib/redis-5.0.3/redis-sentinel.log”

#每个长时间运行的进程都应该有一个明确定义的工作目录。对于Redis Sentinel来说,启动时dir到/tmp是最简单的事情为进程不干扰管理任务,如卸载文件系统。(默认就是"/tmp",copy过来即可)
dir “/tmp”

#重要的来了
#sentinel monitor
#告诉sentinel去监听地址为ip:port的一个master,这里的master-name可以自定义,quorum是一个数字,指明当
#有多少个sentinel认为一个master失效时,master才算真正失效.需要注意的是master-ip 要写真实
#的ip地址而不要用回环地址(127.0.0.1)。
sentinel monitor master001 10.101.72.165 6379 2
sentinel monitor master002 10.101.72.166 6379 2
sentinel monitor master003 10.101.72.167 6379 2

#sentinel down-after-milliseconds
#这个配置项指定需要多少时间无响应,一个master才会被这个sentinel主观地认为是不可用的.单位是毫秒,默认为30秒
sentinel down-after-milliseconds master001 10000
sentinel down-after-milliseconds master002 10000
sentinel down-after-milliseconds master003 10000

#sentinel parallel-syncs
#这个配置项指定了在发生failover主备切换时最多可以有多少个slave同时对新的master进行同步,这个数字越小,完成failover所需的时间就越长,但是如果这个数字越大,就意味着越 多的slave因为replication而不可用.可以通过将这个值设为1(默认就是1)来保证每次只有一个slave处于不能处理命令请求的状态
sentinel parallel-syncs master001 1
sentinel parallel-syncs master002 1
sentinel parallel-syncs master003 1

#sentinel failover-timeout

failover过期时间,当failover开始后,在此时间内仍然没有触发任何failover操作,当前sentinel 将会认为此次failover失败,默认为3分钟,单位为毫秒

sentinel failover-timeout master001 180000
sentinel failover-timeout master002 180000
sentinel failover-timeout master003 180000

#是否拒绝从新配置通知脚本,默认拒绝(yes).
sentinel deny-scripts-reconfig yes

问题汇总:
DENIED Redis is running in protected mode because protected mode is enabled
编辑 Redis 配置文件 redis.conf 并将保护模式选项设置为“protected-mode no“
若开启需要设置密码

参考文献
1-https://blog.mogugu.net:8443/?id=34
2-https://blog.csdn.net/lzb348110175/article/details/99585022/
2-

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Stestack

你的鼓励是我最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值