zoukankan      html  css  js  c++  java
  • Rancher搭建Redis主从集群

    主从复制Redis集群

             

    主从容器启动的时候指定不同的配置文件

            

             

             

    #!/bin/bash
    
    #change redis config
    ordinal=`env | grep podname | cut -d"=" -f2 | cut -d"-" -f2`
    sed -i "s/slaveof.*/slaveof rediscluster-0.rediscluster 6379/g" /etc/redis/redis-slave.conf
    if [ $ordinal -eq 0 ]; then
       redis-server /etc/redis/redis-master.conf
    else
       redis-server /etc/redis/redis-slave.conf
    fi
    View Code

            

           

              

                以上步骤实现了主从节点的数据同步,但是当主节点崩溃的时候还不能自动把一个从节点切换成主节点。要实现主从的自动切换就必须另外安装一个redis哨兵服务

                主节点宕机后从节点自动升级为主节点,但主节点的IP已经变动了,此时应用服务还是拿着原主节点的地址去访问
               一旦主节点宕机,从节点晋升成主节点,同时需要修改应用方的主节点地址,还需要命令所有从节点去复制新的主节点,整个过程需要人工干预

    Redis哨兵集群安装配置

             在主从复制的基础上,哨兵实现了自动化的故障恢复

             访问redis集群的数据都是通过哨兵集群的,哨兵监控整个redis集群

             一旦发现redis集群出现了问题,比如刚刚说的主节点挂了,从节点会顶上来。但是主节点地址变了,这时候应用服务无感知,也不用更改访问地址,因为哨兵才是和应用服务做交互的

            redis容器最少需要6个,分别是1主2从3哨兵

            pod0为主  pod1和pod2为从 pod3,pod4,pod5为哨兵

            

           

          

    #!/bin/bash
    
    #change redis config
    ordinal=`env | grep podname | cut -d"=" -f2 | cut -d"-" -f2`
    sed -i "s/slaveof.*/slaveof rediscluster-0.rediscluster 6379/g" /etc/redis/redis-slave.conf
    if [ $ordinal -eq 0 ];
    then
       redis-server /etc/redis/redis-master.conf
    elif [ $ordinal -gt 0  -a $ordinal -le 2 ];
    then
       redis-server /etc/redis/redis-slave.conf
    elif [ $ordinal -gt 2 ];
    then
       redis-sentinel /etc/redis/sentinel.conf
    fi
    shell多条件的复杂判断

       

    Rancher实现一个四层的负载均衡器

           实现给一群pod提供一个对外访问的入口

           

           

             

             

  • 相关阅读:
    不记住密码
    在Docker中进行Redis主从配置
    Spring Boot系列(8)——RabbitMQ确认、退回模式及死信队列
    RabbitMQ基础
    CentOS只有lo和ens33网卡的解决方案
    Spring Boot系列(7)——自定义异常反馈
    Spring Boot系列(6)——Configurer和Customizer
    以form表单重用方式进行数据列表行删除
    Spring Boot系列(5)——Restful CURD注意事项
    Spring Boot系列(4)——实现国际化
  • 原文地址:https://www.cnblogs.com/yxh168/p/14326171.html
Copyright © 2011-2022 走看看