一、哨兵的介绍

哨兵(sentinal)是redis集群架构中非常重要的一个组件,主要功能如下:

  1. 集群监控,负责监控redis master和slave进程是否正常工作
  2. 消息通知,如果某个redis实例故障,哨兵负责发送消息通知给管理员
  3. 故障转移,如果master node 挂掉了,会自动转移slave node
  4. 配置中心,如果故障转移发生了,通知client客户端新的master地址

哨兵的核心知识:

  1. 哨兵集群至少三个实例

    假设两个哨兵的集群下,Configuration: quorum = 1 (配置需要1个哨兵认为master宕机),主备切换还需一个条件majority (大多数哨兵是运行的),如果两个哨兵主机所在的机器宕机了,则剩下一个哨兵实例,则不满足大多数哨兵是运行的这个条件

  2. 哨兵+redis主从架构,是保证不了数据零丢失, 只能保证redis集群的高可用

二、哨兵集群环境搭建

# mkdir /etc/sentinel
# mkdir -p /var/sentinel/5000
# mkdir -p /var/log/sentinal/5000
# cp /usr/local/redis-3.2.8/sentinel.conf /etc/sentinel
# mv /etc/sentinel/sentinel.conf /etc/sentinel/5000.conf # vi /etc/sentinel/5000.conf
## 修改
port 5000
bind 192.168.27.11 ## 当前机器的ip地址
dir /var/sentinel/5000
sentinel monitor mymaster 192.168.27.11 6379 2
sentinel down-after-milliseconds mymaster 30000
sentinel failover-timeout mymaster 60000
sentinel parallel-syncs mymaster 1
logfile /var/log/sentinel/5000/sentinel.log ## 启动哨兵进程
# redis-sentinel /etc/sentinel/5000.conf
# redis-server /etc/sentinel/5000.conf --sentinel ## 检查哨兵状态
# redis-cli -h 192.168.27.11 -p 5000
> sentinel master mymaster
> sentinel slaves mymaster
> sentinel sentinels mymaster
> sentinel get-master-addr-by-name mymaster

三、高可用容灾演练测试

强制停掉主节点的redis

# ps -ef|grep redis
# kill -9 进程号
# rm -rf /var/run/redis_6379.pid ## 查看哨兵监控日志
# cat /var/log/sentinel/5000/sentinel.log ## 查看当前的master节点
# redis-cli -h 192.168.27.11 -p 5000
> sentinel get-master-addr-by-name mymaster

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

  1. Redis 快速集群环境搭建

    环境 Linux :centos 7 redis:redis-5.0.9 Redis 集群环境搭建步骤 早期 redis 版本集群环境搭建需要安装 ruby 运行环境,搭建步骤比较繁琐: redis ...

  2. Redis之集群环境搭建

    前面文章介绍了Redis的主从复制,虽然该模式能够在一定程度上提高系统的稳定性,但是在数据访问量比较大的情况下,单个master应付起来还是比较吃力的,这时我们可以考虑将redis集群部署,本文就来重 ...

  3. Redis集群环境搭建实践

    0 Redis集群简介 Redis集群(Redis Cluster)是Redis提供的分布式数据库方案,通过分片(sharding)来进行数据共享,并提供复制和故障转移功能.相比于主从复制.哨兵模式, ...

  4. Redis与Redis 伪集群环境的搭建

    一 .准备工作 GCC编译环境 ruby运行环境 安装ruby脚本运行包 二.环境安装 1.GCC环境 首先,因为redis是由C语言编写的,所以需要安装GCC环境,可以用 gcc -v 命令来检查是 ...

  5. Docker 搭建 Redis Cluster 集群环境

    使用 Docker 搭建 Redis Cluster,最重要的环节就是容器通信的问题,这一块我们在之前的文章中已经给大家解决了<Docker 网络模式详解及容器间网络通信>,本篇文章主要练 ...

  6. Docker Compose 搭建 Redis Cluster 集群环境

    在前文<Docker 搭建 Redis Cluster 集群环境>中我已经教过大家如何搭建了,本文使用 Docker Compose 再带大家搭建一遍,其目的主要是为了让大家感受 Dock ...

  7. redis哨兵集群搭建

    下载redis jar包redis-4.0.11.tar.gz放在/data/redis目录下 解压 命令:tar -zxvf redis-4.0.11.tar.gz 解压后如图所示 在/usr/lo ...

  8. 【Redis哨兵集群】

    目录 开始配置主从复制 开始配置Redis Sentinel @ *** 在开始之前,我们先来看看Redis的主从复制 主从复制原理: 从服务器向主服务器发送SYNC命令. 主服务器接到SYNC命令后 ...

  9. Linux - redis哨兵集群实例

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

随机推荐

  1. matlab生成滤波器系数组

    用MATLAB生成的滤波器系数是可以控制增益的,一般归一化的目的是控制增益为1.滤波器的阶数由数据速率,过渡带宽.通带波纹和阴带波纹来决定, 在下图中FS,Apass,Astop固定之后,只要Fpas ...

  2. 20155205 2016-2017-2 《Java程序设计》第6周学习总结

    20155205 2016-2017-2 <Java程序设计>第6周学习总结 教材学习内容总结 第十章 在Java中,输入串流代表对象为Java.io.InputStream实例,输出串流 ...

  3. event based xml parser (SAX) demo

    import java.io.ByteArrayInputStream; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SA ...

  4. 动态生成PictureBox控件,涉及:PictureBox控件和flowLayoutPanel面板

    一.概述 flowLayoutPanel面板是一系列控件的容器,有关详细的使用方法留待以后总结. 二.问题提出 问题提出:点击按钮,扫描指定文件夹并将其中的所有图片放在flowLayoutPanel面 ...

  5. ssh+注解开发 pom.xml

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  6. kafka参数

    转载地址http://debugo.com/kafka-params/ ############################# System ########################### ...

  7. 第一次Java实验

      模仿JavaAppArguments.java实例,编写一个程序,此程序从命令行接受多个数字,求和之后输出. 1.设计思路:命令行参数都是字符串,必须将其转化成数字才能相加,定义一个数组接收字符串 ...

  8. include require include_once require_once

    include 使用方法: include "test.php"; 一般是放在流程控制的处理部分中使用,将文件内容引入.PHP程序在遇到include语句时,才将它读进来,这种方式 ...

  9. 数据压缩之经典——哈夫曼编码(Huffman)

    (笔记图片截图自课程Image and video processing: From Mars to Hollywood with a stop at the hospital的教学视频,使用时请注意 ...

  10. hdu 4939 三色塔防

    http://acm.hdu.edu.cn/showproblem.php?pid=4939 给出一条长为n个单位长度的直线,每通过一个单位长度需要 t 秒. 有3种塔,红塔可以在当前格子每秒造成 x ...