Redis Sentinel

Redis Sentinel高可用集群

自动故障转移(哨兵模式)

主机

ip

端口(redis-server)

端口(sentinel)

node1(master)

128.0.0.101

8000

6800

node2(slave)

128.0.0.102

8000

6800

node3(slave)

128.0.0.103

8000

6800

安装redis

wget http://download.Redis.io/releases/redis-4.0.2.tar.gz
tar xf redis-4.0.2.tar.gz 
cd redis-4.0.2
yum install -y gcc gcc-c++ make openssl-devel pcre-devel
#编译
cd redis-4.0.2
make MALLOC=/usr/lib64/libjemalloc.so.1
make install
cp  redis.conf  sentinel.conf  /etc/
mkdir /var/log/redis

配置主从

#主
vim /etc/redis.conf
port  8000
daemonize  yes
bind  0.0.0.0
pidfile   /var/run/redis-8000.pid
logfile   /var/log/redis/redis-8000.log
protected-mode no
#从
vim /etc/redis.conf
port  8000
daemonize  yes
bind  0.0.0.0
pidfile   /var/run/redis-8000.pid
logfile   /var/log/redis/redis-8000.log
protected-mode no
slaveof  128.0.0.81  8000
#哨兵
vim /etc/sentinel.conf
daemonize yes
port  6800
logfile  /var/log/redis/sentinel.log
pidfile  /var/run/sentinel.pid
sentinel monitor mymaster 128.0.0.81 8000 2
sentinel down-after-milliseconds mymaster 5000  
sentinel failover-timeout  mymaster 15000

启动

#server
redis-server /etc/redis.conf
#哨兵
redis-sentinel /etc/sentinel.conf

查看

redis-cli  -p 6800

127.0.0.1:6800> info Sentinel
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=128.0.0.81:8000,slaves=2,sentinels=3

安装完成

虽然Redis做了备份,可以保证服务的不中断。但由于Redis目前只支持主从复制备份(不支持主主复制),当主Redis挂了,从Redis只能提供读服务,无法提供写服务。所以,当主Redis挂了,让从Redis升级成为主Redis。 这就需要自动故障转移,Redis sentinel带有这个功能,当一个主Redis不能提供服务时,Redis sentinel可以将一个从Redis升级为主Redis,并对其他从Redis进行配置,让它们使用新的主Redis进行复制备份。

本文分享自微信公众号 - 从零开始的linux(gh_4a9d788f5f27),作者:零月

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-12-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • redis的安装

    redis安装 ]# wget https://codeload.github.com/antirez/redis/tar.gz/2.8.21 ]# mv 2...

    零月
  • redis主从

    主机名ipnode01(主)192.168.6.71node02(从)192.168.6.72 分别在两台机器上面安装redis wget https://c...

    零月
  • linux进程和线程

    查看进程数 [root@alex ~]# ps -ef | grep nginx | wc -l 3 查看线程数 [root@alex ~]# pstree ...

    零月
  • Redlock(redis分布式锁)原理分析

    Redlock:全名叫做 Redis Distributed Lock;即使用redis实现的分布式锁;

    JAVA葵花宝典
  • Redlock(redis分布式锁)原理分析

    Redlock:全名叫做 Redis Distributed Lock;即使用redis实现的分布式锁;

    用户1558882
  • 思维导图终极之战LVS负载均衡

    昨天小伙伴们学习的是haproxy,作为负载均衡相比大家也很想在看一下lvs的思维导图。 下面我们开始今天的lvs思维导图之旅 一、 LVS简介 LVS是Li...

    小小科
  • 社群答疑精选02:不重复数据统计——如何统计员工负责的客户数?(续)

    昨天详细整理了在完美Excel社群上回答Alpha朋友提出的问题解答思路和过程,详见:

    fanjy
  • 面试中如何剔除“鱼目混珠”程序员?

    对于一个公司来说,执行招聘面试事宜是一个耗时耗钱的项目,从顾问公司和人才中介挑选出合适的简历之后,还要花更多的时间找出合适的候选人。有的时候这些机构会向你保证这...

    用户5997198
  • 熵、交叉熵和KL散度的基本概念和交叉熵损失函数的通俗介绍

    为了开始了解熵到底指的是什么,让我们深入了解信息理论的一些基础知识。在这个数字时代,信息是由位(0和1)组成的。在通信时,有些位是有用的,有些是多余的,有些是错...

    deephub
  • 【小家Java】common-lang3中StringUtils的使用详解

    上一篇博文已经讲解了lang3下面的很多的API,但是StringUtils留在本文专门讲解。因为这个工具类在日常使用中实在太多了。

    YourBatman

扫码关注云+社区

领取腾讯云代金券