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提供一个对外访问的入口

           

           

             

             

  • 相关阅读:
    redis集群报错,(error) MOVED 15495 127.0.0.1:7003
    在云服务器上时候,我关闭了防火墙还是不能连接!
    redis 集群安装 3主3从3台云主机
    ajax完成团队信息异步添加【实际项目】
    众创项目首页推荐需求
    添加删除表格(js完成)【自己实际项目】
    【JPA 级联保存/级联删除】@OneToMany (双向) 一对多【转】
    页面提交 string数组和list对象集合举例
    Form表单如何传递List数组对象到后台的解决办法(转)
    实现同时提交多个form(基础方法) 收集(转)
  • 原文地址:https://www.cnblogs.com/yxh168/p/14326171.html
Copyright © 2011-2022 走看看