Redis 哨兵模式配置

搭建步骤
第一步: 在 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 哨兵模式配置的更多相关文章
- redis哨兵模式配置
java对redis的读写 依赖包:jedis.jar maven下: <!-- https://mvnrepository.com/artifact/redis.clients/jedis - ...
- Redis哨兵模式高可用部署和配置
一.Redis 安装配置 1.下载redis安装包 wget http://download.redis.io/releases/redis-4.0.9.tar.gz 2.解压安装包 tar -zxv ...
- redis环境搭建及一主二从三哨兵模式配置
一.单机redis环境搭建 1.安装: OS:linux redhat6.5 下载redis 官网下载链接:https://redis.io/download 把安装包上传到服务器,进行解压 [roo ...
- Redis哨兵模式的配置
绪论 现有三台设备,192.168.137.11.192.168.137.12和192.168.137.13,要求在三台设备上实现redis哨兵模式,其中192.168.137.11为master,其 ...
- Springboot2.x集成Redis哨兵模式
Springboot2.x集成Redis哨兵模式 说明 Redis哨兵模式是Redis高可用方案的一种实现方式,通过哨兵来自动实现故障转移,从而保证高可用. 准备条件 pom.xml中引入相关jar ...
- Spring Boot 入门(十):集成Redis哨兵模式,实现Mybatis二级缓存
本片文章续<Spring Boot 入门(九):集成Quartz定时任务>.本文主要基于redis实现了mybatis二级缓存.较redis缓存,mybaits自带缓存存在缺点(自行谷歌) ...
- [Redis] Redis哨兵模式部署 - zz胖的博客
1. 部署Redis集群 redis的安装及配置参考[redis部署] 本文以创建一主二从的集群为例. 1.1 部署与配置 先创建sentinel目录,在该目录下创建8000,8001,8002三个以 ...
- Redis 哨兵模式(Sentinel)
上一篇我们介绍了 redis 主从节点之间的数据同步复制技术,通过一次全量复制和不间断的命令传播,可以达到主从节点数据同步备份的效果,一旦主节点宕机,我们可以选择一个工作正常的 slave 成为新的主 ...
- Redis哨兵模式主从同步不可以绑定127.0.0.1或者0.0.0.0,不然无法进行主从同步
Redis哨兵模式主从同步不可以绑定127.0.0.1或者0.0.0.0,不然无法进行主从同步,一定要绑定内网IP,而对于跨机房的问题,可以使用iptables进行nat转发来解决.
随机推荐
- 考前自救题库NABCD分析
考前自救题库NABCD分析 项目 内容 这个作业属于哪个课程 2021春季软件工程(罗杰 任健) 这个作业的要求在哪里 团队项目-初次邂逅,需求分析 项目名称:考前自救题库(暂定) 项目简介:本产品计 ...
- BUAA_OO_第一单元
BUAA_OO_2020_UNIT1 一.程序结构分析 第一次作业 UML & Mertrics 由于数据处理简单,第一次作业中笔者发挥了面向过程的思想,将项转换成Biginteger, ...
- 2018年block3学习计划
还是要给自己制定一个block的计划,希望自己的技术能有更进一步的提升 1. 算法/数学 随着学习的进一步深入,愈发认识到了算法的重要性,这个block给自己定下的计划就是 1)把introducti ...
- TP6学习笔记一:安装与基本配置
1 说明与概述 1.1 说明 以下内容大部分来源于TP6完全开发手册,以手册为主附上个人理解,仅作学习使用. 1.2 概述 第一篇学习笔记,主要记录TP6的基础,包括TP6简介,安装,Hello Wo ...
- Workerman:PHP的socket框架
hi,我们今天来讲讲Workerman,什么是Workerman呢? 看看官网上的介绍 Workerman是一款开源高性能异步PHP socket框架.支持高并发,超高稳定性,被广泛的用于手机app. ...
- Jenkins 项目类型及配置项
0. 简介 1. Freestyle project 1)General 2)源码管理 3)构建触发器 4)构建环境 5)构建 6)构建后操作 2. Maven 项目 1)所有配置项 2)Build ...
- Firefox 启动带有配置信息
若不设置进行下述配置,那么 webdriver 每次启动火狐浏览器,默认都是一个不太有任何插件的浏览器被启动. 通过配置的方式,指定一个浏览器设置来启动,就可以使用以前安装的插件或配置信息了. 步骤一 ...
- pod详解
什么是pod? 官方说明: Pod是Kubernetes应用程序的最基本执行单元-是你创建或部署Kubernetes对象模型中的最小和最简单的单元. Pod表示在集群上运行的进程.Pod封装了应用程序 ...
- Android Studio在android Emulator中运行的项目黑屏
前言: 最近在做一个Android相关的小项目,因为之前这方面的项目做的比较的少.今天在使用虚拟机调试的时候经常出现一些莫名其妙的问题,经过自己多次的尝试和搜索终于解决了这些问题. 问题: 每次run ...
- Manachar's Algorithm
1.模板 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int MAX=21000020; 4 char s[MAX], ...