zoukankan      html  css  js  c++  java
  • redis 高可用集群搭建

    一、redis 的集中搭建方式

    1.单体架构

    单独一个redis服务

    2.主从模式

     一主多从,出问题需要运维手动切换主从

    3.哨兵模式

    通过哨兵自动切换,存在问题:出现 master 挂了后,重新选主后可能瞬间不可用

    4.高可用集群

    如果一个小节点挂了后,其他小节点依然可以使用

      

    二.高可用集群模式配置

    1.下载 redis 

    官网地址:https://redis.io/

    https://download.redis.io/releases/redis-6.2.5.tar.gz

    下载后放到 /usr/local/src

    2.解压

    cd /usr/local/src

    tar -zxvf redis-6.2.5.tar.gz

    3.移动redis 到 /usr/local

    mv redis-6.2.5 ../

    4.编译&安装

    cd /usr/local/redis-6.2.5

    make

    make install

    5.配置集群

    1)配置第一个节点

    mkdir -p /usr/local/redis-cluster

    cd  /usr/local/redis-cluster

    mkdir 8001

    cp /usr/local/redis-6.2.5/src/redis-server /usr/local/redis-cluster/8001

    cp /usr/local/redis-6.2.5/redis.conf /usr/local/redis-cluster/8001

    #修 改redis 配置

    vim /usr/local/redis-cluster/8001/redis.conf

    配置其他节点

    cp -r /usr/local/redis-cluster/8001 /usr/local/redis-cluster/8002

    cp -r /usr/local/redis-cluster/8001 /usr/local/redis-cluster/8003

    cp -r /usr/local/redis-cluster/8001 /usr/local/redis-cluster/8004

    cp -r /usr/local/redis-cluster/8001 /usr/local/redis-cluster/8005

    cp -r /usr/local/redis-cluster/8001 /usr/local/redis-cluster/8006

    注意:8001、8002、8003、8004、8005、8006 需要注意修改bind 的地址、端口信息

    可以用批量替换  :%s/8001/8003/g 格式,将 8001 批量替换成 8003

    2)启动服务确认配置文件是否正常;

    分别进入  8001、8002、8003、8004、8005、8006目录执行

    redis-server redis.conf

    如上图,配置没问题,可以正常启动 

    3)安装 ruby  注意:高版本不需要,redis 3.0版本需要,目前测试 6.2.5 不需要执行此步骤

    如果安装慢,可以考虑阿里云加速镜像 

    yum install ruby

    yum install rubygems

    gem install redis

    注意:可以通过  --version 指定版本,例如:gem install redis --version 3.0.0

    6.创建 redis 集群

    cd /usr/local/redis-6.2.5/src

    ./redis-cli --cluster create 192.168.116.129:8001 192.168.116.129:8002 192.168.116.129:8003 192.168.116.129:8004 192.168.116.129:8005 192.168.116.129:8006 --cluster-replicas 1

    注意:最后的一个1,是  master/salve 的数量, 我这里每个小集群是1主1从  1/1 ,所以是1,假设配置1主2从,则是1/2=0.5

    注意:低版本需要使用 ruby 去创建集群 

     提示是否配置,输入 yes :

    7.验证集群

    cd /usr/local/redis-cluster/8001

    ./redis-cli -c -h 192.168.116.129 -p 8001

    发现执行 set  key value 的时候,会自动切换服务区自动设置

    8.查看集群状态

     cluster info

     

    9.关闭集群

    ./redis-cli -c -h 192.168.116.129 -p 8001 shutdown

    ./redis-cli -c -h 192.168.116.129 -p 8002 shutdown

    ./redis-cli -c -h 192.168.116.129 -p 8003 shutdown

    ./redis-cli -c -h 192.168.116.129 -p 8004 shutdown

    ./redis-cli -c -h 192.168.116.129 -p 8005 shutdown

    ./redis-cli -c -h 192.168.116.129 -p 8006 shutdown

    10.辅助启动/停止脚本

    vim cluster_shart.sh

    cd /usr/local/redis-cluster/
    ./8001/redis-server ./8001/redis.conf
    ./8002/redis-server ./8002/redis.conf
    ./8003/redis-server ./8003/redis.conf
    ./8004/redis-server ./8004/redis.conf
    ./8005/redis-server ./8005/redis.conf
    ./8006/redis-server ./8006/redis.conf

    vim cluster_shutdown.sh

    #pgrep redis-server | xargs -exec kill -9

    cd /usr/local/redis-6.2.5/src

    ./redis-cli -c -h 192.168.116.129 -p 8001 shutdown

    ./redis-cli -c -h 192.168.116.129 -p 8002 shutdown

    ./redis-cli -c -h 192.168.116.129 -p 8003 shutdown

    ./redis-cli -c -h 192.168.116.129 -p 8004 shutdown

    ./redis-cli -c -h 192.168.116.129 -p 8005 shutdown

    ./redis-cli -c -h 192.168.116.129 -p 8006 shutdown

    如果是云服务器,做公网配置,请注意:

    # IP绑定,redis不建议对公网开放,这里绑定了服务器私网IP及环回地址

    bind 172.17.0.13 127.0.0.1

     # 云服务器上部署需指定公网ip

    cluster-announce-ip 122.51.151.130

    # Redis总线端口,用于与其它节点通信,clients port + 10000

    cluster-announce-bus-port 16381

  • 相关阅读:
    在Eclipse上实现简单的JDBC增删查改操作
    Java学习路线:day12 面向对象(中)
    Java学习路线:day11 客户信息管理软件
    Android个人手机通讯录开发详解
    解决:keeps stopping(停止运行)
    Java学习路线:day10 面向对象(上)3
    2020最新版大数据学习路线
    Java学习路线:day9 面向对象(上)2
    一个简单的ASP登录页面
    Python笔记_第四篇_高阶编程_检测_2.对类进行单元检测
  • 原文地址:https://www.cnblogs.com/hujunmin/p/15057893.html
Copyright © 2011-2022 走看看