天津建设网工程信息网站,网站 网址 域名,徐州集团网站建设方案,成都 企业 网站建设一、介绍
本文实战搭建一主两从三哨兵#xff0c;通过使用哨兵模式#xff0c;可以有效避免某台服务器的 Redis 挂掉出现的不可用问题#xff0c;保障系统的高可用。
本文通过虚拟机搭建的三台 Centos7 服务器进行测试#xff0c;使用的 Redis 版本为 6.25。
二、准备环…一、介绍
本文实战搭建一主两从三哨兵通过使用哨兵模式可以有效避免某台服务器的 Redis 挂掉出现的不可用问题保障系统的高可用。
本文通过虚拟机搭建的三台 Centos7 服务器进行测试使用的 Redis 版本为 6.25。
二、准备环境
IP 地址角色10.211.55.4redis-mastersentinel10.211.55.5redis-slave1sentinel10.211.55.6redis-slave2sentinel
三、安装 Redis
本文在一台服务器上展示安装另外两台同理
3.1、安装 C/C 环境编译 Redis 安装包使用
yum -y install gcc gcc-c make3.2、下载 Redis 安装包
# 切换软件安装目录
cd /usr/local/# 新建 redis 安装目录
mkdir redis# 切换到 redis 安装目录
cd redis# 下载 redis 安装包
wget http://download.redis.io/releases/redis-6.2.5.tar.gz# 解压 redis 安装包
tar -zxvf redis-6.2.5.tar.gz3.3、编译 redis
# 进入解压后的 redis 目录
cd redis-6.2.5/# 编译
make# 进入编译好的目录(编译成功后 src 目录下会出现编译后的 redis 服务程序 redis-server)
cd src四、配置 Redis
4.1、配置主节点
# 进入 Redis 的主目录
cd /usr/local/redis/redis-6.2.5# 创建工作目录 tmp
mkdir tmp# 创建日志目录 log
mkdir log# 编辑 Redis 配置
vim redis.conf# 编辑哨兵配置
vim sentinel.confredis.conf 配置信息如下(这里仅列举了需要修改的地方其他地方保持默认即可)
# 表示redis允许所有地址连接。默认127.0.0.1仅允许本地连接。
bind 0.0.0.0# 允许redis后台运行
daemonize yes# 设置redis日志存放路径
logfile /usr/local/redis/redis-6.2.5/log/redis_6379.log# 设置为no允许外部网络访问
protected-mode no# 修改redis监听端口(可以自定义)
port 6379# pid存放目录
pidfile /var/run/redis_6379.pid# 工作目录需要创建好目录,可自定义
dir /usr/local/redis/redis-6.2.5/tmp# 设置redis密码
requirepass 123456# 主从同步master的密码
masterauth 123456哨兵的配置如下(这里仅列举了需要修改的地方其他地方保持默认即可)
# 修改Sentinel监听端口
port 26380# 允许Sentinel后台运行
daemonize yes# 设置Sentinel日志存放路径
logfile /usr/local/redis/redis-6.2.5/log/redis_6379_sentinel.log# 工作目录需要创建好目录,可自定义
dir /usr/local/redis/redis-6.2.5/tmp# Sentinel 监听 redis 主节点, mymastermaster名称可自定义,127.0.0.1 6379 redis主节点IP和端口,2 表示多少个Sentinel认为redis主节点失效时才算真正失效
sentinel monitor mymaster 127.0.0.1 6379 2# 配置失效时间master会被这个sentinel主观地认为是不可用的单位毫秒
sentinel down-after-milliseconds mymaster 10000# 若sentinel在该配置值内未能完成master/slave自动切换则认为本次failover失败。
sentinel failover-timeout mymaster 60000# 在发生failover主备切换时最多可以有多少个slave同时对新的master进行同步。
sentinel parallel-syncs mymaster 2# 设置连接master和slave时的密码注意的是sentinel不能分别为master和slave设置不同的密码因此master和slave的密码应该设置相同
sentinel auth-pass mymaster 1234564.2、配置从节点 这里只演示配置一个从节点另一个从节点和这个从节点配置一样。 首先需要在从节点的服务器上安装 redis安装 redis 的方法和在主节点服务器上安装 redis 方法一样。 # 进入 Redis 的主目录
cd /usr/local/redis/redis-6.2.5# 创建工作目录 tmp
mkdir tmp# 创建日志目录 log
mkdir log# 编辑 Redis 配置
vim redis.conf# 编辑哨兵配置
vim sentinel.confredis.conf 配置信息如下(这里比主节点只多了一行用于追随主节点)
# 表示redis允许所有地址连接。默认127.0.0.1仅允许本地连接。
bind 0.0.0.0# 允许redis后台运行
daemonize yes# 设置redis日志存放路径
logfile /usr/local/redis/redis-6.2.5/log/redis_6379.log# 设置为no允许外部网络访问
protected-mode no# 修改redis监听端口(可以自定义)
port 6379# pid存放目录
pidfile /var/run/redis_6379.pid# 工作目录需要创建好目录,可自定义
dir /usr/local/redis/redis-6.2.5/tmp# 设置redis密码
requirepass 123456# 主从同步master的密码
masterauth 123456# 多了这一行用于追随某个节点的redis被追随的节点为主节点追随的为从节点Redis5.0前版本可使用slaveof
replicaof 10.211.55.4 6379哨兵的配置如下(和主节点的配置一样)
# 修改Sentinel监听端口
port 26380# 允许Sentinel后台运行
daemonize yes# 设置Sentinel日志存放路径
logfile /usr/local/redis/redis-6.2.5/log/redis_6379_sentinel.log# 工作目录需要创建好目录,可自定义
dir /usr/local/redis/redis-6.2.5/tmp# Sentinel 监听 redis 主节点, mymastermaster名称可自定义,127.0.0.1 6379 redis主节点IP和端口,2 表示多少个Sentinel认为redis主节点失效时才算真正失效
sentinel monitor mymaster 127.0.0.1 6379 2# 配置失效时间master会被这个sentinel主观地认为是不可用的单位毫秒
sentinel down-after-milliseconds mymaster 10000# 若sentinel在该配置值内未能完成master/slave自动切换则认为本次failover失败。
sentinel failover-timeout mymaster 60000# 在发生failover主备切换时最多可以有多少个slave同时对新的master进行同步。
sentinel parallel-syncs mymaster 2# 设置连接master和slave时的密码注意的是sentinel不能分别为master和slave设置不同的密码因此master和slave的密码应该设置相同
sentinel auth-pass mymaster 123456五、启动 Redis 集群
5.1、启动 redis 集群主 - 从
启动 redis 命令如下(从节点类似)下面这条命令执行后没有出错一般就是启动成功了
/usr/local/redis/redis-6.2.5/src/redis-server /usr/local/redis/redis-6.2.5/redis.conf查看启动是否成功,如果失败可以看下log文件夹下的日志
ps aux | grep redis查看集群信息
#切换到主库目录下
/usr/local/redis/redis-6.2.5/src#连接redis
./redis-cli #验证密码
auth 123456#查看集群
info replication5.2、启动哨兵
启动 redis 命令如下(从节点类似)下面这条命令执行后没有出错一般就是启动成功了
/usr/local/redis/redis-6.2.5/src/redis-sentinel /usr/local/redis/redis-6.2.5/sentinel.conf查看启动是否成功,如果失败可以看下log文件夹下的日志
ps aux | grep redis六、哨兵模式测试
6.1、数据同步测试
使用可视化工具在 10.211.55.4 服务器上新增 key:wahaha 的键值对查看另外两台从服务器是否同步了数据。 6.2、主节点宕机测试
先模拟一下挂掉 redis 主节点。
使用 ps aux | grep redis 找到 redis 主节点对应的进程 id使用 kill -9 xxx 杀掉 redis 主节点 id 查看从库数据库的哨兵集群状态 七、最后
我是 xiucai一位后端开发工程师。
如果你对我感兴趣请移步我的个人博客进一步了解。
文中如有错误欢迎在评论区指正如果这篇文章帮到了你欢迎点赞和关注本文首发于个人博客未经许可禁止转载 文章转载自: http://www.morning.pdmml.cn.gov.cn.pdmml.cn http://www.morning.rwls.cn.gov.cn.rwls.cn http://www.morning.zdxss.cn.gov.cn.zdxss.cn http://www.morning.xqnzn.cn.gov.cn.xqnzn.cn http://www.morning.bxbnf.cn.gov.cn.bxbnf.cn http://www.morning.hryhq.cn.gov.cn.hryhq.cn http://www.morning.wzwyz.cn.gov.cn.wzwyz.cn http://www.morning.ykmtz.cn.gov.cn.ykmtz.cn http://www.morning.rrhfy.cn.gov.cn.rrhfy.cn http://www.morning.pcgjj.cn.gov.cn.pcgjj.cn http://www.morning.dmhs.cn.gov.cn.dmhs.cn http://www.morning.rzmzm.cn.gov.cn.rzmzm.cn http://www.morning.mftdq.cn.gov.cn.mftdq.cn http://www.morning.fjgwg.cn.gov.cn.fjgwg.cn http://www.morning.qnwyf.cn.gov.cn.qnwyf.cn http://www.morning.tlzbt.cn.gov.cn.tlzbt.cn http://www.morning.dhqg.cn.gov.cn.dhqg.cn http://www.morning.ftlgy.cn.gov.cn.ftlgy.cn http://www.morning.mgwdp.cn.gov.cn.mgwdp.cn http://www.morning.sqlh.cn.gov.cn.sqlh.cn http://www.morning.pqwrg.cn.gov.cn.pqwrg.cn http://www.morning.pqchr.cn.gov.cn.pqchr.cn http://www.morning.zgdnd.cn.gov.cn.zgdnd.cn http://www.morning.zgztn.cn.gov.cn.zgztn.cn http://www.morning.sltfk.cn.gov.cn.sltfk.cn http://www.morning.fwkjp.cn.gov.cn.fwkjp.cn http://www.morning.lfgql.cn.gov.cn.lfgql.cn http://www.morning.nzms.cn.gov.cn.nzms.cn http://www.morning.lynmt.cn.gov.cn.lynmt.cn http://www.morning.rlrxh.cn.gov.cn.rlrxh.cn http://www.morning.kxmyj.cn.gov.cn.kxmyj.cn http://www.morning.mnqg.cn.gov.cn.mnqg.cn http://www.morning.yxbdl.cn.gov.cn.yxbdl.cn http://www.morning.rwzkp.cn.gov.cn.rwzkp.cn http://www.morning.dxxnq.cn.gov.cn.dxxnq.cn http://www.morning.jzkqg.cn.gov.cn.jzkqg.cn http://www.morning.qmwzz.cn.gov.cn.qmwzz.cn http://www.morning.webpapua.com.gov.cn.webpapua.com http://www.morning.ntyks.cn.gov.cn.ntyks.cn http://www.morning.gkpgj.cn.gov.cn.gkpgj.cn http://www.morning.mcbqq.cn.gov.cn.mcbqq.cn http://www.morning.lbfgq.cn.gov.cn.lbfgq.cn http://www.morning.txrkq.cn.gov.cn.txrkq.cn http://www.morning.ypnxq.cn.gov.cn.ypnxq.cn http://www.morning.bszmy.cn.gov.cn.bszmy.cn http://www.morning.mksny.cn.gov.cn.mksny.cn http://www.morning.zylzk.cn.gov.cn.zylzk.cn http://www.morning.bswnf.cn.gov.cn.bswnf.cn http://www.morning.qxwrd.cn.gov.cn.qxwrd.cn http://www.morning.klcdt.cn.gov.cn.klcdt.cn http://www.morning.ttkns.cn.gov.cn.ttkns.cn http://www.morning.ndmh.cn.gov.cn.ndmh.cn http://www.morning.ndnhf.cn.gov.cn.ndnhf.cn http://www.morning.hlkxb.cn.gov.cn.hlkxb.cn http://www.morning.dmlgq.cn.gov.cn.dmlgq.cn http://www.morning.cjmmt.cn.gov.cn.cjmmt.cn http://www.morning.sbdqy.cn.gov.cn.sbdqy.cn http://www.morning.lzqdl.cn.gov.cn.lzqdl.cn http://www.morning.wanjia-sd.com.gov.cn.wanjia-sd.com http://www.morning.bxnrx.cn.gov.cn.bxnrx.cn http://www.morning.yxkyl.cn.gov.cn.yxkyl.cn http://www.morning.gfrjs.cn.gov.cn.gfrjs.cn http://www.morning.smxyw.cn.gov.cn.smxyw.cn http://www.morning.bmqls.cn.gov.cn.bmqls.cn http://www.morning.jngdh.cn.gov.cn.jngdh.cn http://www.morning.pfnwt.cn.gov.cn.pfnwt.cn http://www.morning.bpmth.cn.gov.cn.bpmth.cn http://www.morning.nqcts.cn.gov.cn.nqcts.cn http://www.morning.qbgff.cn.gov.cn.qbgff.cn http://www.morning.fdjwl.cn.gov.cn.fdjwl.cn http://www.morning.hpnhl.cn.gov.cn.hpnhl.cn http://www.morning.wqkfm.cn.gov.cn.wqkfm.cn http://www.morning.gryzk.cn.gov.cn.gryzk.cn http://www.morning.dlurfdo.cn.gov.cn.dlurfdo.cn http://www.morning.yunease.com.gov.cn.yunease.com http://www.morning.jzfxk.cn.gov.cn.jzfxk.cn http://www.morning.jlboyuan.cn.gov.cn.jlboyuan.cn http://www.morning.jphxt.cn.gov.cn.jphxt.cn http://www.morning.lnbcx.cn.gov.cn.lnbcx.cn http://www.morning.rqnml.cn.gov.cn.rqnml.cn