redis哨兵集群环境搭建
一、哨兵的介绍
哨兵(sentinal)是redis集群架构中非常重要的一个组件,主要功能如下:
- 集群监控,负责监控redis master和slave进程是否正常工作
- 消息通知,如果某个redis实例故障,哨兵负责发送消息通知给管理员
- 故障转移,如果master node 挂掉了,会自动转移slave node
- 配置中心,如果故障转移发生了,通知client客户端新的master地址
哨兵的核心知识:
哨兵集群至少三个实例
假设两个哨兵的集群下,Configuration: quorum = 1 (配置需要1个哨兵认为master宕机),主备切换还需一个条件majority (大多数哨兵是运行的),如果两个哨兵主机所在的机器宕机了,则剩下一个哨兵实例,则不满足大多数哨兵是运行的这个条件
哨兵+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哨兵集群环境搭建的更多相关文章
- Redis 快速集群环境搭建
环境 Linux :centos 7 redis:redis-5.0.9 Redis 集群环境搭建步骤 早期 redis 版本集群环境搭建需要安装 ruby 运行环境,搭建步骤比较繁琐: redis ...
- Redis之集群环境搭建
前面文章介绍了Redis的主从复制,虽然该模式能够在一定程度上提高系统的稳定性,但是在数据访问量比较大的情况下,单个master应付起来还是比较吃力的,这时我们可以考虑将redis集群部署,本文就来重 ...
- Redis集群环境搭建实践
0 Redis集群简介 Redis集群(Redis Cluster)是Redis提供的分布式数据库方案,通过分片(sharding)来进行数据共享,并提供复制和故障转移功能.相比于主从复制.哨兵模式, ...
- Redis与Redis 伪集群环境的搭建
一 .准备工作 GCC编译环境 ruby运行环境 安装ruby脚本运行包 二.环境安装 1.GCC环境 首先,因为redis是由C语言编写的,所以需要安装GCC环境,可以用 gcc -v 命令来检查是 ...
- Docker 搭建 Redis Cluster 集群环境
使用 Docker 搭建 Redis Cluster,最重要的环节就是容器通信的问题,这一块我们在之前的文章中已经给大家解决了<Docker 网络模式详解及容器间网络通信>,本篇文章主要练 ...
- Docker Compose 搭建 Redis Cluster 集群环境
在前文<Docker 搭建 Redis Cluster 集群环境>中我已经教过大家如何搭建了,本文使用 Docker Compose 再带大家搭建一遍,其目的主要是为了让大家感受 Dock ...
- redis哨兵集群搭建
下载redis jar包redis-4.0.11.tar.gz放在/data/redis目录下 解压 命令:tar -zxvf redis-4.0.11.tar.gz 解压后如图所示 在/usr/lo ...
- 【Redis哨兵集群】
目录 开始配置主从复制 开始配置Redis Sentinel @ *** 在开始之前,我们先来看看Redis的主从复制 主从复制原理: 从服务器向主服务器发送SYNC命令. 主服务器接到SYNC命令后 ...
- Linux - redis哨兵集群实例
目录 Linux - redis哨兵集群实例 命令整理 配置流程 Linux - redis哨兵集群实例 命令整理 官网地址:http://redisdoc.com/ redis-cli info # ...
随机推荐
- matlab生成滤波器系数组
用MATLAB生成的滤波器系数是可以控制增益的,一般归一化的目的是控制增益为1.滤波器的阶数由数据速率,过渡带宽.通带波纹和阴带波纹来决定, 在下图中FS,Apass,Astop固定之后,只要Fpas ...
- 20155205 2016-2017-2 《Java程序设计》第6周学习总结
20155205 2016-2017-2 <Java程序设计>第6周学习总结 教材学习内容总结 第十章 在Java中,输入串流代表对象为Java.io.InputStream实例,输出串流 ...
- event based xml parser (SAX) demo
import java.io.ByteArrayInputStream; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SA ...
- 动态生成PictureBox控件,涉及:PictureBox控件和flowLayoutPanel面板
一.概述 flowLayoutPanel面板是一系列控件的容器,有关详细的使用方法留待以后总结. 二.问题提出 问题提出:点击按钮,扫描指定文件夹并将其中的所有图片放在flowLayoutPanel面 ...
- ssh+注解开发 pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- kafka参数
转载地址http://debugo.com/kafka-params/ ############################# System ########################### ...
- 第一次Java实验
模仿JavaAppArguments.java实例,编写一个程序,此程序从命令行接受多个数字,求和之后输出. 1.设计思路:命令行参数都是字符串,必须将其转化成数字才能相加,定义一个数组接收字符串 ...
- include require include_once require_once
include 使用方法: include "test.php"; 一般是放在流程控制的处理部分中使用,将文件内容引入.PHP程序在遇到include语句时,才将它读进来,这种方式 ...
- 数据压缩之经典——哈夫曼编码(Huffman)
(笔记图片截图自课程Image and video processing: From Mars to Hollywood with a stop at the hospital的教学视频,使用时请注意 ...
- hdu 4939 三色塔防
http://acm.hdu.edu.cn/showproblem.php?pid=4939 给出一条长为n个单位长度的直线,每通过一个单位长度需要 t 秒. 有3种塔,红塔可以在当前格子每秒造成 x ...