redis 的一主二从三哨兵模式
概述
在部署redis 的时候,如果redis宕机,缓存将不可用,redis提供了哨兵模式保证redis实现高可用。
即一台主机两台从机,三台哨兵主机,如果主实例宕机,哨兵将将一台从机升级为主机。实现高可用。
配置方法
1.IP地址配置如下
主 127.0.0.1 6001
从 127.0.0.1 6002
从 127.0.0.1 6003
哨兵
127.0.0.1 16001
127.0.0.1 16002
127.0.0.1 16002
2.修改配置
将 redis.con 拷贝两份 redis1.conf redis2.conf
修改配置如下:
编辑 redis.conf
bind 192.168.1.88 127.0.0.1
protected-mode no
daemonize yes
port 6001
pidfile "/var/run/redis_6001.pid"
编辑 redis1.conf
bind 192.168.1.88 127.0.0.1
protected-mode no
daemonize yes
port 6002
pidfile "/var/run/redis_6002.pid"
slaveof 127.0.0.1 6001
编辑 redis2.conf
bind 192.168.1.88 127.0.0.1
protected-mode no
port 6003
daemonize yes
pidfile "/var/run/redis_6003.pid"
slaveof 127.0.0.1 6001
编辑 哨兵文件
将哨兵文件拷贝两份
sentinel.conf sentinel1.conf sentinel2.conf
编辑 sentinel.conf
port
daemonize yes
sentinel monitor mymaster 127.0.0.1 6001 2
编辑 sentinel1.conf
port
daemonize yes
sentinel monitor mymaster 127.0.0.1 6001 2
编辑 sentinel2.conf
port
daemonize yes
sentinel monitor mymaster 127.0.0.1 6001 2
配置完成
注意
这里如果需要使用哨兵模式连接的话,注意不能使用 127.0.0.1 需要使用对外的IP地址。
3.启动 redis
./bin/redis-server etc/redis.conf
./bin/redis-server etc/redis1.conf
./bin/redis-server etc/redis2.conf
启动哨兵
./bin/redis-sentinel ./etc/sentinel.conf
./bin/redis-sentinel ./etc/sentinel1.conf
./bin/redis-sentinel ./etc/sentinel2.conf
验证
新开一个命令行窗口进入redis的src目录,用redis-cli工具登录其中一个哨兵
./bin/redis-cli -p 16001
连接成功后运行如下命令
sentinel master mymaster
我们可以看到主机端口为 6001
我们手工关闭 6001的实例。
可以看到 6001 断开了。
可以看到6002 变为主机了。可以看到 6002 的配置文件 slaveof 127.0.0.1 6001 没有了。
测试设置数据:
连接到 6002
./bin/redis-cli -p 6002
set name redis
连接到6001
get name
可以获取到数据 redis
我们连接到6003 ,设置数据,我们可以从机是不能设置数据的。
sentinel 作用
A、Master 状态监测
B、如果Master 异常,则会进行Master-slave 转换,将其中一个Slave作为Master,将之前的Master作为Slave
C、Master-Slave切换后,redis.conf、redis1.conf和redis2.conf,sentinel.conf 的内容都会发生改变,sentinel.conf的监控目标会随之调换
sentinel monitor mymaster 127.0.0.1 6002 2
redis 的一主二从三哨兵模式的更多相关文章
- docker-compose一键部署redis一主二从三哨兵模式(含密码,数据持久化)
本篇基于centos7服务器进行部署开发 一.拉取redis镜像,使用如下命令 docker pull redis 1.查看镜像是否拉取成功,使用如下命令 docker images 显示如下则证明拉 ...
- redis环境搭建及一主二从三哨兵模式配置
一.单机redis环境搭建 1.安装: OS:linux redhat6.5 下载redis 官网下载链接:https://redis.io/download 把安装包上传到服务器,进行解压 [roo ...
- 【运维技术】redis(一主两从三哨兵模式搭建)记录
redis(一主两从三哨兵模式搭建)记录 目的: 让看看这篇文章的的人能够知道:软件架构.软件的安装.配置.基本运维的操作.高可用测试.也包含我自己,能够节省对应的时间. 软件架构: 生产环境使用三台 ...
- redis(一主两从三哨兵模式搭建)记录
转自:http://www.cnblogs.com/fly-piglet/p/9836314.html 目的: 让看看这篇文章的的人能够知道:软件架构.软件的安装.配置.基本运维的操作.高可用测试.也 ...
- Redis 搭建一主二从三哨兵高可用集群
1.单个redis服务搭建请参考:redis服务搭建 2.在/usr/local下创建目录redis-cluster,并在redis-cluster下创建 6379.6380.6381目录以及data ...
- redis 一主二从三哨兵
总体部署 一主二从三哨兵 ip地址分配分别为 主 127.0.0.1:6379 从 127.0.0.1:6389 从 127.0.0.1:6399 哨兵 127.0.0.1:26379 哨兵 127. ...
- redis一主二从三哨兵
redis做集群的时候有很多种配置方法,一主二从三哨兵这种模式是官网推荐的.,写配置文件链接的时候,写的是哨兵地址,不是IP,用户名,密码之类的. 一主二从很好理解,一个主的redis,实时备份到两个 ...
- springboot 集成Redis一主二从三哨兵
1.Centos7 Redis一主二从三哨兵配置 Redis一主二从三哨兵环境搭建 2.接入过程 与集成redis单机不同的是jedis相关的配置做了修改,JedisPool换成了JedisSenti ...
- docker compose搭建redis7.0.4高可用一主二从三哨兵集群并整合SpringBoot【图文完整版】
一.前言 redis在我们企业级开发中是很常见的,但是单个redis不能保证我们的稳定使用,所以我们要建立一个集群. redis有两种高可用的方案: High availability with Re ...
随机推荐
- 命令行操作mysql数据库
1.导出整个数据库mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u dbuser -p dbname > dbname.sql 2.导出一个表m ...
- [剑指Offer]22-链表中倒数第k个结点
题目链接 https://www.nowcoder.com/practice/529d3ae5a407492994ad2a246518148a?tpId=13&tqId=11167&t ...
- C++编译中的内存分配
一个由 C/C++ 编译的程序占用的内存分为以下五个部分 代码区:存放CPU执行的机器指令,代码区是可共享,并且是只读的. 数据区:存放已初始化的全局变量.静态变量(全局和局部).常量数据. BBS区 ...
- java web获取客户端外网ip和所在区域
@参考文章1.@参考文章2.@参考文章3.@参考文章4,@之前同事的项目 controller @Controller @RequestMapping("/home") publi ...
- C# 创建WebService的简单示例
工具Visual Studio 2013 1.创建一个空的Web应用程序. 2.鼠标右击项目,添加->新建项 选择Web服务(ASMX),点击添加.一个简单的webservice就创建完成了.
- ln: operation not permitted
ln: operation not permitted 在挂载的磁盘上建立软链接提示没有操作权限 例如: ln -s aa bb1ln:aa operation not permitted------ ...
- MD5加密和sha加密
sha加密原理Algorithm)又叫安全哈希加密技术,是当今世界最先近的加密算法.主要用于文件身份识别.数字签名和口令加密等. 对于明文信息A,通过SHA1算法,生成一条160位长的识别码B.且明文 ...
- SideBar 选择城市时右侧边上的 选择bar
需要定义一个SideBar的视图类 在布局文件中引用 同时在布局中设置一个textView默认不可见 当触摸时才显示 在调用的Activity中 sideBar.setOnTouchingL ...
- ABP框架使用Swagger
参考文档:https://www.cnblogs.com/xcsn/p/7910890.html 步骤1:Nuget安装Swashbuckle到*.WebApi项目 步骤2:在*.WebApi> ...
- C#使用MiniDump捕获异常
c/c++语言里MiniDump是一个重要的调试手段,他们没有C#/java这样语言有很多异常输出信息( JVM异常导出bug日志功能,通常在jdk目录,文件格式hs_err_%pid%.log,pi ...