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 ...
随机推荐
- monobehaviour生命周期完整版
- Codeforces Beta Round #49 (Div. 2)
Codeforces Beta Round #49 (Div. 2) http://codeforces.com/contest/53 A #include<bits/stdc++.h> ...
- 如何成功再次安装MYSQL
以前安过,后来再安装就是停在启动项就是过不去,无响应 弄了两天,期待奇迹,网上各种教程试了个遍就是不行,大体就是删除INI,清理注册表,以下是新的发现:(转载) 如果你的电脑里装过MySQL,想再重新 ...
- web接口的开发
老样子,抛出一个问题:什么是接口? 不解释了,百度吧. 了解起来先从HTTP开始说起吧. HTTP协议的特点: 1,无连接,就是指每次连接都仅仅只处理一个请求,服务器处理完客户的请求之后,收到客户的应 ...
- git--(3)分支 合并
git branch test //新建分支 git branch //列出分支 git branch -r //列出远程分支 git branch -m | -M oldbranch newbran ...
- vue 内引入jquery
1. npm i jquery -- save 2. import $ from 'jquery' window.$ = $ window.jQuery = $ export default $ 这 ...
- 通配符的匹配很全面, 但无法找到元素 'tx:annotation-driven' 的声明
启动Tomcat时报错,通配符的匹配很全面, 但无法找到元素 'tx:annotation-driven' 的声明,报错如下 1.从报错可以看到找不到元素 tx:annotation-driven ...
- pyinstller的安装
下载:http://www.pyinstaller.org/ 解压到目录 切换到python目录 执行命令: python.exe D:\Download\PyInstaller-2.1\setup. ...
- mysql 事务中如果有sql语句出错,会导致自动回滚吗?
事务,我们都知道具有原子性,操作要么全部成功,要么全部失败.但是有可能会造成误解. 我们先准备一张表,来进行测试 CREATE TABLE `name` ( `id` int(11) unsigned ...
- CSS day49
前端基础之CSS CSS介绍 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素. 当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化(渲染). CS ...