ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Redis哨兵模式配置

2021-06-17 17:05:45  阅读:120  来源: 互联网

标签:ok Redis redis 192.168 哨兵 模式 0.0 sentinel 节点


  1.按装redis

# 添加软件安装源
yum install epel-release
# 安装redis
yum install redis -y
# 启动redis、启动redis哨兵
systemctl start redis
systemctl start redis-sentinel
# 允许开机启动
systemctl enable redis
systemctl enable redis-sentinel
# 之后进行配置修改:为哨兵集群,重启启动服务

  2.修改redis.conf配置

#这里假设配置1主2从3哨兵 主机地址:192.168.0.0 
从机地址:192.168.0.1    ,    192.168.0.2
# 主机修改redis配置文件:vi /etc/redis.conf
# 1. 修改绑定ip为服务器内网ip地址,做绑定,三台各自填写各自的ip地址
bind 192.168.0.0
# 2. 保护模式修改为否,允许远程连接
protected-mode no
# 4. 设定密码
requirepass ok
# 5. 设定主库密码与当前库密码同步,保证从库能够提升为主库
masterauth ok
# 6. 打开AOF持久化支持
appendonly yes
#从机同主机相同 bind主机地址
slaveof 192.168.0.0 6379

  3.修改哨兵redis-sentinel.conf 配置

#三台机器都修改vi /etc/redis-sentinel.conf配置
#禁止保护模式
protected-mode no


#配置监听的主服务器,这里 sentinel monitor 代表监控
#mymaster代表服务器名称,可以自定义
#192.168.0.0代表监控的主服务器
#6379代表端口
#2代表只有两个或者两个以上的烧饼认为主服务器不可用的时候,才会做故障切换操作
sentinel monitor mymaster 192.168.0.0 6379 2

#sentinel auth-pass 定义服务的密码
#mymaster服务名称
#ok Redis服务器密码
#注意 这句话必须放在sentinel monitor mymaster 下面否则会报错
sentinel auth-pass mymaster ok

  4 .同步测试 主从切换测试

#重启redis和哨兵服务
systemctl restart redis
systemctl restart redis-sentinel

#数据同步测试 三台机器各自启动自己的客户端

redis-cli -h 192.168.0.0 -a ok

redis-cli -h 192.168.0.1 -a ok

redis-cli -h 192.168.0.2 -a ok

#分别使用命令查看集群状态
info replication

#在主节点上写入数据 查看从机是否备份数据(这里注意从节点不能写入数据)
set aaa "aaa"
get aaa
#直接shutdown主节点 等会查看从节点情况 会有一台从节点转为主节点
#此时再恢复原主节点 发行原主节点只能成为slave节点

  !注意 从机只能读不能写 主机掉线会自动在从机中选择一个做主机,原主机再次上线时会变为从机。

从机下线后再上线,会自动复制下线期间注入主机内容的。

    

  5.SpringBoot 连接有哨兵模式的Redis

server:
port: 12000
spring:
redis:
sentinel:
master: mymaster
nodes: 192.168.0.0:26379,192.168.0.1:26379,192.168.0.2:26379
database: 0
password: ok
host: 192.168.0.0
port: 6379

  注意:在redis主节点宕机后切换到从节点时 redis工作会暂时阻塞

  

标签:ok,Redis,redis,192.168,哨兵,模式,0.0,sentinel,节点
来源: https://www.cnblogs.com/Mr-PengL/p/14894250.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有