zoukankan      html  css  js  c++  java
  • redis主从复制

    一.安装redis

    安装依赖类库

    yum -y install cpp binutils glibc glibc-kernheaders glibc-common glibc-devel gcc make gcc-c++ libstdc++-devel tcl

    下载redis
    http://download.redis.io/releases/

    安装redis

    mkdir -p /usr/local/src/redis
    cd /usr/local/src/redis
    rz 上传
    tar -xvf redis-3.0.2.tar.gz 
    cd redis-3.0.2
    make
    make test #这个就不要执行了,需要很长时间
    make install
    cp redis.conf /etc/
    vi /etc/redis.conf
    # 修改如下,默认为no
    daemonize yes
    #启动
    redis-server /etc/redis.conf
    #测试
    redis-cli
    

    二.主从复制的好处有2点:

    1、避免redis单点故障
    2.构建读写分离架构,满足读多写少的应用场景
    3.主从架构

    主从安装redis(这里以一台机器作为实验)

    1.创建6379、6380、6381目录,分别将安装目录下的redis.conf拷贝到这三个目录下。

    cd /root
    mkdir redis && cd redis
    mkdir 6379 6380 6381
    cp /etc/redis.conf 6379/
    cp /etc/redis.conf 6380/
    cp /etc/redis.conf 6381/
    

    2.修改6380 6381 redis.conf文件

    port 6380
    pidfile /var/run/redis-6380.pid
    
    port 6381
    pidfile /var/run/redis-6381.pid
    

    3.关掉“一”中redis服务

    ps -ef|grep reids
    kill -9 pid
    

    4.分别启动/root/redis中6379,6380,6381配置

    cd /root/reids
    cd 6379 redis-server && ./redis.conf && cd ..
    cd 6380 redis-server && ./redis.conf && cd ..
    cd 6381 redis-server && ./redis.conf && cd ..
    ps -ef|grep reids #查看是否启动
    

    5.设置主从

    在redis中设置主从有2种方式:
    1、在redis.conf中设置slaveof`
    slaveof <masterip> <masterport>
    2、使用redis-cli客户端连接到redis服务,执行slaveof命令`
    slaveof <masterip> <masterport>`
    主从关系搭建成功会产生一个dump.rdb文件
    例如:
    redis-cli -p 6380 #连接到6380
    slaveof 127.0.0.1 6379
    redis-cli -p 6379 #链接到6379主reids
    set cary 'cary'
    reids-cli -p 6380
    get cary #检验是否能够查到数据
    
    第二种方式在重启后将失去主从复制关系
    

    6.查看主从信息

    执行 INFO replication  #在主库和从库中都可以执行
    
    role:角色
    connected_slaves:从库数量
    slave0:从库信息
    

    四.哨兵配置

    接下来开始配置哨兵。建立一个配置文件sentinel.conf,内容为:

    cd /root/6379/
    vim sentinel.conf
    添加:
    sentinel monitor mymaster 127.0.0.1 6379 1  
    启动哨兵
    redis-sentinel /root/redis/6379/sentinel.conf  
    
    命令号输出
    

    13283:X 17 Jan 06:49:21.139 # +monitor master mymaster 127.0.0.1 6379 quorum 1

    13283:X 17 Jan 06:49:21.155 * +slave slave 127.0.0.1:6381 127.0.0.1 6381 @ mymaster 127.0.0.1 6379

    13283:X 17 Jan 06:49:21.159 * +slave slave 127.0.0.1:6380 127.0.0.1 6380 @ mymaster 127.0.0.1 6379

    其中”+slave”表示新发现了从库,可见哨兵成功地发现了两个从库

    现在哨兵已经在监控这3个Redis实例了,这时将从库关闭(杀死进程或使用 shutdown 命令),等待指定时间后(可配置,默认为 30 秒),哨兵会输出如下内容

    13283:X 17 Jan 06:50:41.440 # +sdown slave 127.0.0.1:6381 127.0.0.1 6381 @ mymaster 127.0.0.1 6379

  • 相关阅读:
    Navicat12激活,最新版本v12.1.18,原版激活[windows]
    【工具】Fiddler使用教程
    MongoDB笔记
    MongoDB
    MySQL三层结构、用户权限、索引设计原则
    Ajax
    linux简单优化
    linux基本
    Memcached
    Django+Uwsgi+Nginx
  • 原文地址:https://www.cnblogs.com/weiguo21/p/5762206.html
Copyright © 2011-2022 走看看