zoukankan      html  css  js  c++  java
  • CentOS7配置sentinel高可用redis

    redis哨兵:用于管理和实现多个redis组实现高可用,sentinel哨兵只监控主节点,因为主节点上有所有的从节点信息,当master节点发生故障,sentinel之间会进行投票选举一个slave节点切换成为从master节点,实现故障转移;
    sentinel哨兵可以单个,为了避免哨兵的单点故障,这里我们在每天的redis服务器上都启用了哨兵功能,配置都是相同的;

    (1)配置redis主从复制

    规划

    ip				port 		role		
    192.168.1.31	6379		master,sentinel	
    192.168.1.32	6379		slave,sentinel
    192.168.1.33	6379		slave,sentinel
    

    0.关闭防火墙

    systemctl stop firewald.service 
    systemctl disable firewald.service
    

    1.安装和启动redis

    yum install epel-release -y 
    yum install redis -y 
    systemctl start redis 
    systemctl enable redis 
    

    2.master配置

    #vim /etc/my.cnf 
    bind 0.0.0.0 				//修改监听ip
    port 6379					//监听端口
    daemonize yes 				//后台运行		
    requirepass redhat  		//配置登录密码
    

    3.slave配置

    vim /etc/my.cnf 
    bind 0.0.0.0 
    port 6379
    daemonize yes 
    masterauth redhat 				//如果master配置了requiress登录密码,需要配置masterauth认证
    slaveof 192.168.1.31 6379 		//指定master节点的ip和端口	
    slave-read-only yes				//从节点只读
    

    4.master 和slave端 验证

    redis-cli -h 192.168.1.31 -a redhat info replication
    redis-cli -h 192.168.1.31 -a redhat set ip 1.1.1.1 
    redis-cli -h 192.168.1.31 -a redhat set port 8080 
    

    slave验证:

    redis-cli -h 192.168.1.33 -a redhat 
    > keys * 
    redis-cli -h 192.168.1.32 -a redhat
    > keys *  
    

    (2)配置sentinel,3台节点都配置sentinel

    1.修改sentinel配置文件,3台节点配置文件一样

    #vim /etc/redis-sentinel.conf
    protected-mode no													//关闭保护模式
    port 26379
    logfile "/var/log/redis/sentinel.log"
    sentinel monitor redis-master 192.168.1.31 6379 3					//指定redi的smaster主节点的ip和端口,集群名字,3表示sentinel个数
    sentinel down-after-milliseconds redis-master 30000 				//判断主节点不在线的超时时长,默认毫秒,30秒,30秒连不上master节点,就认为主节点down机
    sentinel parallel-syncs redis-master 1 								//从服务器提升为主服务器的时候,同时允许1个从服务器发起连接请求
    sentinel failover-timeout redis-master 90000						//故障转移的超时时间,从服务器提升为主服务器的超时时间
    sentinel auth-pass redis-master redhat								//如果redis配置了认证,需要加上
    

    2.启动redis的sentinel

    redis-sentinel /etc/redis-sentinel.conf
    

    3.验证,more /var/log/redis/sentinel.log
    现在master是192.168.1.31,slave是192.168.1.32和192.168.1.33

    redis-cli -h 192.168.1.31 -p 26379
    >info sentinel 
    


    4.停止192.168.1.31上的redis服务, 然后查看sentinel状态
    192.168.1.33由slave节点切换到master,slave是192.168.1.32

  • 相关阅读:
    PHP 把字符转换为 HTML 实体
    CSS 不换行 white-space 属性详解
    JQuery 事件器的介绍
    maven 添加自己的包
    MYSQL 安装
    优秀系统
    JSP中的相对路径和绝对路径(转)
    Eclipse RCP扩展
    JSTL与EL(转)
    el表达式跟ognl表达式的区别(转)
  • 原文地址:https://www.cnblogs.com/lovelinux199075/p/9082171.html
Copyright © 2011-2022 走看看