• Redis哨兵集群部署


    1. 环境

    1.1 操作系统

    CentOS7最小化安装

    # cat /etc/os-release
    NAME="CentOS Linux"
    VERSION="7 (Core)"

    # cat /etc/redhat-release
    CentOS Linux release 7.7.1908 (Core)

    1.2 主从节点

    本例中共涉及到三台服务器

    1. 10.10.2.231:主机名node1,作为主节点
    2. 10.10.2.232:主机名node2,作为从节点
    3. 10.10.2.233:主机名node3,作为从节点

    2. 安装Redis

    以下步骤需要在每个节点上执行

    2.1 安装epel源

    # yum install -y epel-release

    2.2 安装Redis

    # yum install -y redis

    2.3 查看Redis版本

    # redis-server -v
    Redis server v=3.2.12

    3. 配置Redis主从复制

    3.1 配置Redis主节点

    # vi /etc/redis.conf

    3.1.1 修改Redis允许远程访问

    bind 0.0.0.0

    3.1.2 设置Redis的访问密码

    requirepass 123456

    3.1.3 设置主节点访问密码

    为什么主节点也要做这项配置?

    原因是:当我们启动了所有Redis服务和哨兵服务后,如果Redis主节点挂掉了则其他节点会被选为主节点。那么当原主节点重新启动以后,原主节点会变成从节点,需要从新的主节点同步数据,此时需要新的主节点的密码,也就是下面这项配置的值

    masterauth 123456

    3.2 配置Redis从节点

    # vi /etc/redis.conf

    3.2.1 按主节点配置从节点(3.1.1和3.1.2和3.1.3)

    3.2.2 为从节点配置主节点信息

    slaveof 10.10.2.231 6379

    4. 配置Redis哨兵

    以下步骤需要在每个节点上执行

    # vi /etc/redis-sentinel.conf
    bind 0.0.0.0
    sentinel monitor mymaster 10.10.2.231 6379 2
    sentinel auth-pass mymaster 123456

    其中:

    • mymaster:Redis集群主节点名称,可自定义,默认名称mymaster。如果做了修改要整体搜索下/etc/redis-sentinel.conf保证改全
    • 10.10.2.231:Redis集群主节点IP地址
    • 6379 :Redis集群主节点端口
    • 2:表示有两个或两个以上的哨兵认为主节点不可用,则判定主节点客观下线
    • 123456:Redis集群主节点密码

    5. 防火墙开放端口

    以下步骤需要在每个节点上执行

    # firewall-cmd --zone=public --add-port=6379/tcp --permanent
    # firewall-cmd --zone=public --add-port=26379/tcp --permanent
    # firewall-cmd --reload
    # firewall-cmd --zone=public --list-ports
    6379/tcp 26379/tcp

    6. 启动Redis服务

    先启动主节点,再启动从节点

    # service redis start

    7 查看主从复制状态

    # redis-cli -h 10.10.2.231
    10.10.2.231:6379> auth 123456
    10.10.2.231:6379> info replication
    role:master
    connected_slaves:2
    slave0:ip=10.10.2.232,port=6379,state=online,offset=337,lag=0
    slave1:ip=10.10.2.233,port=6379,state=online,offset=337,lag=0

    # redis-cli -h 10.10.2.232
    10.10.2.232:6379> auth 123456
    10.10.2.232:6379> info replication
    role:slave
    master_host:10.10.2.231
    master_port:6379
    master_link_status:up

    # redis-cli -h 10.10.2.233
    10.10.2.233:6379> auth 123456
    10.10.2.233:6379> info replication
    role:slave
    master_host:10.10.2.231
    master_port:6379
    master_link_status:up

    8 测试主从复制

    # redis-cli -h 10.10.2.231
    10.10.2.231:6379> auth 123456
    10.10.2.231:6379> set testKey testValue

    # redis-cli -h 10.10.2.232
    10.10.2.232:6379> auth 123456
    10.10.2.232:6379> keys *

    1. "testKey"

    # redis-cli -h 10.10.2.233
    10.10.2.233:6379> auth 123456
    10.10.2.233:6379> keys *

    1. "testKey"

    7. 启动哨兵服务

    先启动主节点,再启动从节点

    # service redis-sentinel start

    8. 测试哨兵服务

    8.1 停掉Redis主服务

    # service redis stop

    8.2 查看主从复制状态

    # redis-cli -h 10.10.2.232
    10.10.2.232:6379> auth 123456
    10.10.2.232:6379> info replication
    role:master
    connected_slaves:1
    slave0:ip=10.10.2.233,port=6379,state=online,offset=1819,lag=0

    # redis-cli -h 10.10.2.233
    10.10.2.233:6379> auth 123456
    10.10.2.233:6379> info replication
    role:slave
    master_host:10.10.2.232
    master_port:6379
    master_link_status:up

    回到目录

    如果您发现笔者措辞不严谨、逻辑不合理,甚至代码有错误、结论很偏颇等等问题,欢迎联系QQ:562759534。笔者感激各位的讨论和指正,并在此不胜感激!拜谢!
  • 相关阅读:
    解决方案-文件管理系统:百科
    计算机:轮询
    公司-科技-安全狗:百科
    职位-金融:CFA(特许金融分析师)
    un-解决方案-BPM:百科
    un-协议-LDAP:百科
    引擎-搜索引擎-Java:ElasticSearch
    云-京东云:目录
    计算机:E-Learning
    Runoob-JSP:JSP 国际化
  • 原文地址:https://www.cnblogs.com/LOVE0612/p/15507956.html
Copyright © 2020-2023  润新知