搭建步骤

第一步: 在 redis.conf 配置文件目录下拷贝三份 sentinel.conf 文件
[root@node-01 redis-5.0.9]# cp sentinel.conf sentinel.conf1
[root@node-01 redis-5.0.9]# cp sentinel.conf sentinel.conf2
[root@node-01 redis-5.0.9]# cp sentinel.conf sentinel.conf3
第二步:在 sentinel.conf1 文件中查看配置
  • 配置格式:sentinel monitor 被监控机器名 IP地址 端口号 得票数

    Vim 打开 sentinel.conf1 文件,修改如下配置项:

port 26379 # 哨兵监控端口(sentinel.conf1)
daemonize yes # 后台运行
sentinel monitor mymaster 127.0.0.1 6379 2 # 表示只要有2个哨兵节点认为主服务器有问题则进入客观下载状态
  • 然后修改 sentinel.conf2 的监控端口为 26380
port 26380 # 哨兵监控端口(sentinel.conf2)
daemonize yes # 后台运行
sentinel monitor mymaster 127.0.0.1 6379 2 # 表示只要有2个哨兵节点认为主服务器有问题则进入客观下载状态
  • 然后修改 sentinel.conf3 的监控端口为 26381
port 26381 # 哨兵监控端口(sentinel.conf3)
daemonize yes # 后台运行
sentinel monitor mymaster 127.0.0.1 6379 2 # 表示只要有2个哨兵节点认为主服务器有问题则进入客观下载状态
第三步:启动哨兵模式
  • cd 进入 Redis 的 src 目录,然后分别执行启动 3 个哨兵模式脚本,如下:
[root@node-01 redis-5.0.9]# src/redis-sentinel sentinel.conf1
[root@node-01 redis-5.0.9]# src/redis-sentinel sentinel.conf2
[root@node-01 redis-5.0.9]# src/redis-sentinel sentinel.conf3
第四步:查看 3 个哨兵模式进程,确定是否启动成功
[root@node-01 redis-5.0.9]# ps -ef | grep sentinel
root 1824 1 0 12:34 ? 00:00:00 src/redis-sentinel *:26379 [sentinel]
root 1829 1 0 12:34 ? 00:00:00 src/redis-sentinel *:26380 [sentinel]
root 1834 1 0 12:34 ? 00:00:00 src/redis-sentinel *:26381 [sentinel]
root 1841 1495 0 12:35 pts/0 00:00:00 grep --color=auto sentinel

说明三个哨兵进程已成功启动

第五步:检测哨兵模式
  • 直接关闭端口为 6379 的 Master 主服务器,以模拟主服务器故障,如下:
127.0.0.1:6379> shutdown
not connected>
  • 查看端口号 6380 服务器的主从关系
[root@node-01 redis-5.0.9]# src/redis-cli -p 6380
127.0.0.1:6380> info replication
# Replication
role:slave # 表示该服务器是一个从服务器
master_host:127.0.0.1 # 表示连接的主服务器 IP 地址
master_port:6381 # 表示连接的主服务器端口号
master_link_status:up
master_last_io_seconds_ago:0
master_sync_in_progress:0
slave_repl_offset:29805
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:ab744fc6feb39f575ec3958f288a52ec7dd034db
master_replid2:554339e6ceb0172e1a8be239d5f84edfa7c39455
master_repl_offset:29805
second_repl_offset:28586
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:29805

查看结果为端口 6380 的服务器仍然是从服务器,但是它连接的主服务器不再是端口 6379 的服务器了,而变为了 端口为6381 的服务器。

  • 查看端口号 6381 服务器的主从关系
[root@node-01 redis-5.0.9]# src/redis-cli -p 6381
127.0.0.1:6381> info replication
# Replication
role:master # 表示该服务器为主服务器
connected_slaves:1 #表示该服务器拥有1个从服务器连接
# 从服务器列表信息
slave0:ip=127.0.0.1,port=6380,state=online,offset=70265,lag=1
master_replid:ab744fc6feb39f575ec3958f288a52ec7dd034db
master_replid2:554339e6ceb0172e1a8be239d5f84edfa7c39455
master_repl_offset:70398
second_repl_offset:28586
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:85
repl_backlog_histlen:70314

查看结果为端口 6381 的服务器已经由原来的从服务器(Slave),切换为主服务器(Master),而且连接在原来主服务器的端口 6380 的从服务器,也重新连接到新的主服务器上了。

  • 重新启动端口 6380 的前任主服务器
[root@node-01 redis-5.0.9]# src/redis-cli -p 6379
127.0.0.1:6379> info replication
# Replication
role:slave # 表示该服务器为从服务器
master_host:127.0.0.1 # 表示连接的主服务器IP地址
master_port:6381#表示连接的主服务器端口号
master_link_status:up
master_last_io_seconds_ago:1
master_sync_in_progress:0
slave_repl_offset:131755
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:ab744fc6feb39f575ec3958f288a52ec7dd034db
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:131755
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:129724
repl_backlog_histlen:2032

查看结果为重启服务器后,原来的端口 6379 的主服务器已经不再是主服务器,而自动变为端口6381 的新主服务器的从服务器了。

至此,哨兵模式环境搭建和测试成功:)

Redis 哨兵模式配置的更多相关文章

  1. redis哨兵模式配置

    java对redis的读写 依赖包:jedis.jar maven下: <!-- https://mvnrepository.com/artifact/redis.clients/jedis - ...

  2. Redis哨兵模式高可用部署和配置

    一.Redis 安装配置 1.下载redis安装包 wget http://download.redis.io/releases/redis-4.0.9.tar.gz 2.解压安装包 tar -zxv ...

  3. redis环境搭建及一主二从三哨兵模式配置

    一.单机redis环境搭建 1.安装: OS:linux redhat6.5 下载redis 官网下载链接:https://redis.io/download 把安装包上传到服务器,进行解压 [roo ...

  4. Redis哨兵模式的配置

    绪论 现有三台设备,192.168.137.11.192.168.137.12和192.168.137.13,要求在三台设备上实现redis哨兵模式,其中192.168.137.11为master,其 ...

  5. Springboot2.x集成Redis哨兵模式

    Springboot2.x集成Redis哨兵模式 说明 Redis哨兵模式是Redis高可用方案的一种实现方式,通过哨兵来自动实现故障转移,从而保证高可用. 准备条件 pom.xml中引入相关jar ...

  6. Spring Boot 入门(十):集成Redis哨兵模式,实现Mybatis二级缓存

    本片文章续<Spring Boot 入门(九):集成Quartz定时任务>.本文主要基于redis实现了mybatis二级缓存.较redis缓存,mybaits自带缓存存在缺点(自行谷歌) ...

  7. [Redis] Redis哨兵模式部署 - zz胖的博客

    1. 部署Redis集群 redis的安装及配置参考[redis部署] 本文以创建一主二从的集群为例. 1.1 部署与配置 先创建sentinel目录,在该目录下创建8000,8001,8002三个以 ...

  8. Redis 哨兵模式(Sentinel)

    上一篇我们介绍了 redis 主从节点之间的数据同步复制技术,通过一次全量复制和不间断的命令传播,可以达到主从节点数据同步备份的效果,一旦主节点宕机,我们可以选择一个工作正常的 slave 成为新的主 ...

  9. Redis哨兵模式主从同步不可以绑定127.0.0.1或者0.0.0.0,不然无法进行主从同步

    Redis哨兵模式主从同步不可以绑定127.0.0.1或者0.0.0.0,不然无法进行主从同步,一定要绑定内网IP,而对于跨机房的问题,可以使用iptables进行nat转发来解决.

随机推荐

  1. 自动化kolla-ansible部署ubuntu20.04+openstack-victoria之系统安装-03

    自动化kolla-ansible部署ubuntu20.04+openstack-victoria之系统安装-03  欢迎加QQ群:1026880196  进行交流学习 一.镜像下载 网易源: http ...

  2. java7与java9中的try-finally关闭资源

    1.java7中的try 在java7之前,对于一些需要使用finally关闭资源的操作,会显得很臃肿. try { // } catch(Exception e) { // } finally { ...

  3. 火狐兼容selenium版本解决

    火狐和selenium不是很好兼容,下面提供一些我所知道的可以兼容的版本: 1. 火狐52+selenium 3.3 +geckodriver v0.15.0 2.火狐59+selenium 3.11 ...

  4. Java on Visual Studio Code的更新 – 2021年3月

    欢迎来到Java的VS Code更新.在过去的几个月中,我们的工程师一直在专注于一些非常重要的工作.现在,是时候揭开面纱了,开始吧. 类型层次结构(Type hierarchy) VS Code已经支 ...

  5. Day11_58_增强for循环

    增强for循环 * 语法 : for(数据类型 变量名:数组名/集合名) * 集合如果要使用增强for循环需要先使用泛型来确定元素类型,如果没有使用泛型就使用foreach,那么变量类型设置为Obje ...

  6. Amazon EFS CSI 驱动程序 为eks 提供存储服务

    官方文档:https://docs.aws.amazon.com/zh_cn/eks/latest/userguide/efs-csi.html

  7. BPM系统,工作流引擎,表单引擎常用30个功能与常见问题

    1.1:支持国际化 如果使用工具包的模式开发,支持国际化的工作由自己完成的. 如果使用Ccbpm 的前端,主要的功能页面已经支持, 后台的设置的页面全部中文,没有做支持国际化. 1.2:能单独部署,微 ...

  8. 03 Django web服务开发 - URL路由

    Django中的APP -Django中的一个APP就是一个应用的意思 -项目可以包含多个APP(多个应用) -一个项目对应一个网站(生活服务网站) 一个APP队形网站的一个应用(二手交易,家政服务) ...

  9. 【Java集合】为什么HashMap的长度是2的N次幂?

    这个问题应该倒过来思考,HashMap的长度是2的N次幂,有什么优势? 在HashMap的putVal()方法中,为了确定插入元素在table[]数组中的下标位置,使用的与(&)运算来计算 如 ...

  10. hdu4179 限制最短路

    题意:       这个题目估计读懂题意就ok了,关键是题意蛋疼,像我这样的英语渣渣活着可真难啊,题意大体是这样,给你n个点m条无向边,给你起点和终点,让你求从起点到终点的最短路径,其中有一些限制: ...