下载redis jar包redis-4.0.11.tar.gz放在/data/redis目录下

解压 命令:tar -zxvf redis-4.0.11.tar.gz

解压后如图所示

在/usr/local目录下创建redis_sentinel文件夹

将/data/redis目录下解压后的redis文件夹移动到/usr/local/redis_sentinel目录下,命令 mv /data/redis/redis-4.0.11 /usr/local/redis_sentinel/

在/usr/local/redis_sentinel目录下创建6379 6380 6381 sentinel_server四个文件夹,命令 mkdir 6379 6380 6381 sentinel_server

进入到redis-4.0.11目录下,命令 make all

将redis-4.0.11/redis.conf文件分别拷贝到6379 6380 6381的目录下,将redis-4.0.11/sentinel.conf文件拷贝到sentinel_server的目录下如下图所示

我们将6379作为主服务,编辑6379下的redis.conf文件

daemonize 设置为 yes

protected-mode  设置为no 如果不设置为no,web服务是连接不上的

注释掉bind ip地址,或者设置为0.0.0.0否则远程连接是访问不了的

编辑6380下的redis.conf文件

daemonize 设置为 yes;protected-mode  设置为no;注释掉bind ip地址(这三步同上);

另外修改 port为6380

设置当前节点的主节点 slaveof 127.0.0.1 6379

编辑6381下的redis.conf文件

daemonize 设置为 yes;protected-mode  设置为no;注释掉bind ip地址(这三步同上);

另外修改 port为6381

设置当前节点的主节点 slaveof 127.0.0.1 6379sentinel monitor mymaster 127.0.0.1 6379 1

编辑sentinel_server下的sentinel.conf文件

设置sentinel monitor mymaster 127.0.0.1 6379 1 (mymaster可以随意取,但是下面的需要跟这里一致;如果要在web程序中使用,127.0.0.1必须改为对应的ip地址,否则会连不上)

设置sentinel down-after-milliseconds mymaster 10000 也可以默认不变

添加 daemonize yes

这里默认不变

设置 failover-timeout mymaster 60000

启动 6379 6380 6381三个节点服务,如下图所示

启动sentinel服务

进入6379节点,显示为 主节点;设置aaa 为 111,并且能获取成功

进入6380节点,显示为从节点,可以成功获取aaa的值,但是不能添加值,这就是redis读写分离

进入6381节点,同6380节点一样

现在我们尝试将6379节点shutdown

我们在进入6380节点,发现master已经变成6381节点了

进入6381节点,如下图所示

我们发现 6381节点确实变成主节点,而且可以设置新的值;这就是redis哨兵集群,当主节点down掉之后,会在从节点中选一个作为新的主节点

redis哨兵集群搭建的更多相关文章

  1. Redis本地集群搭建(5版本以上)

    Redis本地集群搭建(5版本以上) 2019年11月3日10:05:48 步骤 1.下载安装Redis的安装包 2.复制5份,一共6份Redis的解压安装版,修改每个Redis节点的端口并开启节点 ...

  2. Linux - redis哨兵集群实例

    目录 Linux - redis哨兵集群实例 命令整理 配置流程 Linux - redis哨兵集群实例 命令整理 官网地址:http://redisdoc.com/ redis-cli info # ...

  3. helm部署Redis哨兵集群

    介绍 Redis Sentinel集群是由若干Sentinel节点组成的分布式集群,可以实现故障发现.故障自动转移.配置中心和客户端通知. 如下图: Redis Sentinel 故障转移过程: 从这 ...

  4. 11.Redis 哨兵集群实现高可用

    作者:中华石杉 Redis 哨兵集群实现高可用 哨兵的介绍 sentinel,中文名是哨兵.哨兵是 redis 集群机构中非常重要的一个组件,主要有以下功能: 集群监控:负责监控 redis mast ...

  5. python连接redis哨兵集群

    一.redis集群模式有多种, 哨兵模式只是其中的一种实现方式, 其原理请自行谷歌或者百度 二.python 连接 redis 哨兵集群 1. 安装redis包 pip install redis 2 ...

  6. redis的集群搭建(很详细很详细)

    说在前面的话 之前有一节说了redis单机版的搭建和使用jedis管理redis单机版和集群版, 本节主要讲一下redis的集群搭建. 跳转到jedis管理redis的使用 认识redis集群 首先我 ...

  7. linux环境下redis安装(redis伪集群搭建)

    redis在linux环境下搭建 1.创建目录 [root@192 local]# mkdir /usr/local/redis 2.下载redis,并解压 [root@192 local]# wge ...

  8. redis哨兵集群环境搭建

    一.哨兵的介绍 哨兵(sentinal)是redis集群架构中非常重要的一个组件,主要功能如下: 集群监控,负责监控redis master和slave进程是否正常工作 消息通知,如果某个redis实 ...

  9. redis主从集群搭建及容灾部署(哨兵sentinel)

    Redis也用了一段时间了,记录一下相关集群搭建及配置详解,方便后续使用查阅. 提纲 Redis安装 整体架构 Redis主从结构搭建 Redis容灾部署(哨兵sentinel) Redis常见问题 ...

随机推荐

  1. O014、云计算与OpenStack

    参考https://www.cnblogs.com/CloudMan6/p/5334760.html   云计算 基本概念   所有的新事物都不是突然冒出来的,都有前世和今生.云计算也是IT技术不断发 ...

  2. 第一个简单的Echarts实例

    该示例使用 vue-cli 脚手架搭建 安装echarts依赖 npm install echarts -S 或者使用国内的淘宝镜像: 安装 npm install -g cnpm --registr ...

  3. 使输入框(input  & textarea)变为只可读状态readonly="readonly",禁用输入框disabled="disabled"

    使输入框变为只可读状态 readonly="readonly" <input class="select-city" placeholder=" ...

  4. Vue+axios 拦截,超时登录问题

    axios.interceptors.request.use(config => config, error => Promise.reject(error)); axios.interc ...

  5. Python新式类与经典类(旧式类)的区别

    看写poc的时候看到的,思考了半天,现在解决了 转载自http://blog.csdn.net/zimou5581/article/details/53053775 Python中类分两种:旧式类和新 ...

  6. python异步IO编程(二)

    python异步IO编程(二) 目录 开门见山 Async IO设计模式 事件循环 asyncio 中的其他顶层函数 开门见山 下面我们用两个简单的例子来让你对异步IO有所了解 import asyn ...

  7. 织梦多个栏目arclist调用副栏目不显示的解决办法

    织梦arclist调用副栏目不显示,网上关于这个问题的解决办法有很多,其中一种是: 打开/include/taglib/arclist.lib.php,代码约位于295-296行(我目前用的DedeC ...

  8. 判断页面是在移动端还是PC端打开的

    $(function () { var curWwwPath = window.document.location.href; var pathName = window.document.locat ...

  9. python将str类型的数据变成datetime时间类型数据

    如下: import datetime date_str = '2019_05_09' date_date = datetime.date(*map(int, date_str.split('_')) ...

  10. Mongodb操作-更新操作符

    1.$inc 用法:{$inc:{field:value}} 作用:对一个数字字段的某个field增加value 示例:将name为chenzhou的学生的age增加5 > db.student ...