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

    redis作为当前炙手可热的NOSQL系统,本身就支持主从集群,下面我们就来动手搭建一个一主两从的redis集群。

    一、安装操作

    1、环境准备

    这里使用三台服务器,每台服务器上开启一个redis-server和redis-sentinel服务,redis-server端口为8000,redis-sentinel的端口为6800,修改默认端口是安全的第一步。

    redis-server说明

    • 192.168.68.110:8000 主
    • 192.168.68.111:8000 从
    • 192.168.68.112:8000 从

    redis-sentinel说明

    • 192.168.68.110:6800
    • 192.168.68.111:6800
    • 192.168.68.112:6800

    2、搭建redis系统

    先在三台机器上安装redis,具体步骤可参考Linux下redis安装(单机版)

    安装完成后复制redis提供的默认配置文件

    cp /usr/src/redis-3.2.1/redis.conf /usr/local/redis
    

    修改配置文件

    cd /usr/local/redis
    vim redis.conf
    

    主节点192.168.68.110上的配置

    port  8000          
    daemonize  yes
    bind  192.168.68.110
    requirepass 123456
    pidfile   /var/run/redis-8000.pid
    logfile   /var/log/redis/redis-8000.log
    

    从节点192.168.68.111,192.168.68.112上的配置

    port  8000          
    daemonize  yes
    bind  192.168.68.111  #192.168.68.112
    requirepass 123456
    masterauth 123456
    pidfile   /var/run/redis-8000.pid
    logfile   /var/log/redis/redis-8000.log
    slaveof  192.168.68.110 8000
    

    注意:redis不会帮我们创建目录,所以在启动之前需要创建目录/var/log/redis

    启动三台机器上的redis

    ./bin/redis-server ./redis.conf
    

    三个redis服务启动完毕后,进入命令行,执行info replication查看当前主从配置

    如果如上图所示没有发现从节点,很有可能是防火墙没有开放8000端口导致主从节点之间没法通信

    执行以下命令

    firewall-cmd --zone=public --add-port=8000/tcp --permanent
    firewall-cmd --zone=public --add-port=6800/tcp --permanent
    firewall-cmd --reload
    

    重新查看主从信息

    3、搭建redis-sentinel系统

    首先复制默认的配置文件并修改

    cp /usr/src/redis-3.2.1/sentinel.conf /usr/local/redis/
    vim /usr/local/redis/sentinel.conf
    

    内容如下

    protected-mode no
    daemonize yes
    port  6800
    sentinel monitor mymaster 192.168.68.110 8000 1
    sentinel auth-pass mymaster 123456
    #5秒内master6800没有响应,就认为SDOWN
    sentinel down-after-milliseconds mymaster 5000  
    sentinel failover-timeout mymaster 15000
    logfile  /var/log/redis/sentinel.log
    pidfile  /var/run/sentinel.pid

    启动redis-sentinel

    ./bin/redis-sentinel ./sentinel.conf
    

    二、测试

    1、主从复制测试

    主节点添加数据

    从节点获取数据

    2、故障转移测试

    停掉主节点

    查看redis集群信息

    从节点192.168.68.112升级为主节点

  • 相关阅读:
    UVALive 7509 Dome and Steles
    HDU 5884 Sort
    Gym 101194H Great Cells
    HDU 5451 Best Solver
    HDU 5883 The Best Path
    HDU 5875 Function
    卡特兰数
    UVa 11729 Commando War 突击战
    UVa 11292 The Dragon of Loowater 勇者斗恶龙
    Spark Scala Flink版本对应关系
  • 原文地址:https://www.cnblogs.com/carrychan/p/9396997.html
Copyright © 2011-2022 走看看