Redis哨兵机制,一主二从

注:Redis哨兵切换,建议一主多从

一、一主二从

  教程步骤:https://www.cnblogs.com/zwcry/p/9046207.html

二、哨兵配置(sentinel.conf)

  cd /usr/local/redis-ms/  

  1.创建哨兵目录

    mkdir -p ./sentinel/26001/tmp

    cp /usr/local/redis/sentinel.conf ./sentinel/26001/

  2.修改./sentinel/.conf

    cd /usr/local/redis-ms/sentinel/

    vim ./26001/sentinel.conf

    #修改如下键值对

    # bind 127.0.0.1 192.168.1.1#注释掉或者值为0.0.0.0

    protected-mode no#关闭保护模式

    port 26001#端口号

    daemonize yes#后台运行

    dir /usr/local/redis-ms/sentinel/26001/tmp#解除挂载信息目录

    sentinel monitor mymaster 192.168.194.131 6381 1#设置 主名称 ip地址 端口号 参入选举的哨兵数

    sentinel down-after-milliseconds mymaster 3000#sentinel心跳检测主3秒内无响应,视为挂掉,开始切换其他从为主

    sentinel parallel-syncs mymaster 1#每次最多可以有1个从同步主。一个从同步结束,另一个从开始同步。

    sentinel failover-timeout mymaster 18000#主从切换超时时间

三、启动哨兵配置

  1.先启主从redis

    /usr/local/redis/src/redis-server /usr/local/redis-ms/6381/redis.conf

    /usr/local/redis/src/redis-server /usr/local/redis-ms/6382/redis.conf

    /usr/local/redis/src/redis-server /usr/local/redis-ms/6383/redis.conf

    ps -ef|grep redis

    如图已经启动

    

    且信息正确

    /usr/local/redis/src/redis-cli -p 6381

    info

    

  2.启动哨兵

    /usr/local/redis/src/redis-sentinel /usr/local/redis-ms/sentinel/26001/sentinel.conf

    ps -ef|grep redis

    如图已经启动

    

    且信息正确

    /usr/local/redis/src/redis-cli -p 26001

    info

    

  3.测试

    1)主6381停掉后变成从,原有的两个从,有一个升级为主。

      /usr/local/redis/src/redis-cli -p 6381 shutdown

      /usr/local/redis/src/redis-cli -p 26001

      info

      

    2)6381再次启动后,依然是从

      /usr/local/redis/src/redis-server /usr/local/redis-ms/6381/redis.conf

      /usr/local/redis/src/redis-cli -p 6381

      info

      

五、哨兵集群

  cd /usr/local/redis-ms/sentinel/

  1.复制26001

    cp -r 26001 26002

  2.修改26002/sentinel.conf

    vim 26002/sentinel.conf

    #将文本中26001替换为26002

    :%s/26001/26002/g

  3.启动

    /usr/local/redis/src/redis-sentinel /usr/local/redis-ms/sentinel/26002/sentinel.conf

    info

    /usr/local/redis/src/redis-cli -p 26002

    

6.哨兵开机启动

  注:redis开机启动参照https://www.cnblogs.com/zwcry/p/9046207.html  

  1.创建sh脚本目录

    mkdir /usr/local/redis-ms/sentinel/script

    cd /usr/local/redis-ms/sentinel/script/

  2.编辑start.sh

    vim start.sh   

#!/bin/sh
/usr/local/redis/src/redis-sentinel /usr/local/redis-ms/sentinel//sentinel.conf
/usr/local/redis/src/redis-sentinel /usr/local/redis-ms/sentinel//sentinel.conf

  3.编辑stop.sh

    vim stop.sh

#!/bin/sh
/usr/local/redis/src/redis-cli -p shutdown
/usr/local/redis/src/redis-cli -p shutdown

  4.编辑restart.sh

    vim restart.sh   

#!/bin/sh
systemctl stop redis-sentinel
systemctl start redis-sentinel

  5.编写redis-sentinel.service

    cd /usr/lib/systemd/system/

    vim redis-sentinel.service

[Unit]
Description=redis-sentinel
After=redis-ms.service
[Service]
Type=forking
ExecStart=/usr/local/redis-ms/sentinel/script/start.sh
ExecStop=/usr/local/redis-ms/sentinel/script/stop.sh
ExecReload=/usr/local/redis-ms/sentinel/script/restart.sh
[Install]
WantedBy=multi-user.target

    #建议启动redis服务后,再启动哨兵  

  6.命令行

    改变权限

      chmod 777 redis-sentinel.service

      chmod 777 /usr/local/redis-ms/sentinel/script/*

    进程服务重加载

      systemctl daemon-reload

    开机启动哨兵

      systemctl enable redis-sentinel.service

    启动哨兵

      systemctl start redis-sentinel.service

    关闭哨兵

      systemctl stop redis-sentinel.service

    重启哨兵

      systemctl restart redis-sentinel.service

备注:哨兵集群服务自主关联响应,如果需要更多哨兵集群,按照26002的方式复制26003...26006即可

  
  

    

redis 哨兵机制环境搭建的更多相关文章

  1. Redis哨兵机制的实现及与SpringBoot的整合

    1. 概述 前面我们聊过Redis的读写分离机制,这个机制有个致命的弱点,就是主节点(Master)是个单点,如果主节点宕掉,整个Redis的写操作就无法进行服务了. 为了解决这个问题,就需要依靠&q ...

  2. Redis集群环境搭建实践

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

  3. Windows下Lua+Redis 断点调试环境搭建==Linux下类似

    Lua+Redis 断点调试环境搭建 windows环境,使用Redis,写lua脚本头疼的问题之一不能对脚本断点调试,google加上自己的摸索,终于搞定. 1.下载ZeroBraneStudio, ...

  4. 关于Redis哨兵机制,7张图详解!

    写在前面 之前有位朋友去面试被问到Redis哨兵机制,这道题其实很多小伙伴都应该有被问到过!本文将跟大家一起来探讨如何回答这个问题!同时用XMind画了一张导图记录Redis的学习笔记和一些面试解析( ...

  5. Redis 哨兵机制

    概述 由一个或多个 Sentinel(哨兵)实例组成的 Sentinel 系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的 ...

  6. 【redis】 linux 下redis 集群环境搭建

    Redis集群 (要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下) 127.0.0.1:63791 ...

  7. redis哨兵机制讲解

    原文链接:https://blog.csdn.net/yswKnight/article/details/78158540 一.什么是哨兵机制? 答:Redis的哨兵(sentinel) 系统用于管理 ...

  8. 2.Redis集群环境搭建

    转载请出自出处:http://www.cnblogs.com/hd3013779515/ 一.基本概念 1.redis集群是一个可以在多个节点之间进行数据共享的设施.redis集群提供了以下两个好处1 ...

  9. redis集群环境搭建的错误

    安装redis集群需要版本号在3.0以上 redis-cluster安装前需要安装ruby环境 搭建集群需要使用到官方提供的ruby脚本. 需要安装ruby的环境. yum -y install ru ...

随机推荐

  1. Windows Server 2008 R2之六活动目录域服务的卸载

    活动目录域服务的卸载是将DC降级为独立服务器或成员服务器的过程. 在删除活动目录之前,为了防止操作失败操作系统故障,须对系统进行备份.同时,我们还必须对待删除的域控制器进行如下检查 1.是否有操作主控 ...

  2. Shell脚本导入外部脚本内容

    vim subscript.sh #!/bin/bash tool="ApacheSpark" vim main.sh #!/bin/bash source /home/wx/su ...

  3. 静态类(static)与java值传递、引用传递小测

    java中都是值传递.直接上代码了: class TestStaticA { static { System.out.println("b"); } public TestStat ...

  4. ADOdb 支持的数据库包括哪些?

    ADOdb 支持的数据库包括 MySQL, PostgreSQL,Interbase,Firebird,Informix,Oracle,MS SQL 7,Foxpro,Access,ADO,Sybas ...

  5. FZU2110 Star【计算几何】

    Overpower often go to the playground with classmates. They play and chat on the playground. One day, ...

  6. Solr学习笔记之4、Solr配置文件简介

    Solr学习笔记之4.Solr配置文件简介 摘自<Solr in Action>. 1. solr.xml – Defines one or more cores per Solr ser ...

  7. hadoop的两类配置文件及3种启动/关闭方式

    hadoop配置文件 默认配置文件:四个模块相对应的jar包中:$HADOOP_HOME/share/hadoop        *core-default.xml        *hdfs-defa ...

  8. PHPExcel exception: “Could not close zip file … ”报错

    Q: PHPExcel exception: “Could not close zip file … ” A:目录没有写权限,chmod 对$phpExcel->save($dir)中报错路径设 ...

  9. 表优化 altering table OPTIMIZE TABLE `sta_addr_copy`

    表优化 altering table OPTIMIZE TABLE `sta_addr_copy` [总结] 1.实际测试的结果是,在state sqlaltering table OPTIMIZE ...

  10. QS Network---zoj1586最小生成树

    Description Sunny Cup 2003 - Preliminary Round April 20th, 12:00 - 17:00 Problem E: QS Network In th ...