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升级为主节点

  • 相关阅读:
    ie 火狐兼容集锦
    ie css png
    jQuery插件——autoTextarea-文本框根据输入内容自适应高度
    比onload更快获取图片尺寸(转载)
    数据库性能问题排查
    项目管理_FindBugs的使用
    js动态获取子复选项并设计全选及提交
    SVN使用_获取某版本后改动的文件列表
    存储过程_把字符串转化为结果集
    Spring下如何配置bean
  • 原文地址:https://www.cnblogs.com/carrychan/p/9396997.html
Copyright © 2011-2022 走看看