redis 主从同步搭建

redis 一主二从

1.redis 安装

  安装教程:https://www.cnblogs.com/zwcry/p/9505949.html

2.redis主从

  1)创建主从目录

    mkdir /usr/local/redis-ms

    cd /usr/local/redis-ms/

    mkdir 6381

    mkdir 6382

    mkdir 6382

  2)复制redis.conf到主从目录

    cp /usr/local/redis/redis.conf ./6381/

    cp /usr/local/redis/redis.conf ./6382/

    cp /usr/local/redis/redis.conf ./6383/

  3)修改主./6381/redis.conf

    vim ./6381/redis.conf

    #修改如下key的值

    bind 0.0.0.0#任意ip都可以连接

    protected-mode no#关闭保护,允许非本地连接

    port 6381#端口号

    daemonize yes#后台运行

    pidfile /var/run/redis_6381.pid#进程守护文件,就是存放该进程号相关信息的地方

    dir /usr/local/redis-ms/6381/#db等相关目录位置

    appendonly yes#开启日志形式

  4)修改从./6382/redis.conf

    vim ./6382/redis.conf

    #修改如下key的值

    bind 0.0.0.0#任意ip都可以连接

    protected-mode no#关闭保护,允许非本地连接

    port 6382#端口号

    daemonize yes#后台运行

    pidfile /var/run/redis_6382.pid#进程守护文件,就是存放该进程号相关信息的地方

    dir /usr/local/redis-ms/6382/#db等相关目录位置

    slaveof 192.168.194.131 6381#主信息

    appendonly yes#开启日志形式

  5)修改从./6383/redis.conf

    vim ./6383/redis.conf 

    #修改如下key的值

    bind 0.0.0.0#任意ip都可以连接

    protected-mode no#关闭保护,允许非本地连接

    port 6383#端口号

    daemonize yes#后台运行

    pidfile /var/run/redis_6383.pid#进程守护文件,就是存放该进程号相关信息的地方

    dir /usr/local/redis-ms/6383/#db等相关目录位置

    slaveof 192.168.194.131 6381#主信息

    appendonly yes#开启日志形式

3.启动测试

  1)启动

    cd /usr/local/redis-ms/

    /usr/local/redis/src/redis-server ./6381/redis.conf

    /usr/local/redis/src/redis-server ./6382/redis.conf

    /usr/local/redis/src/redis-server ./6383/redis.conf

    ps -ef|grep redis

    

    #查看主从是否搭建成功

    /usr/local/redis/src/redis-cli -p 6381

    info

    如图:

    

  2)测试

    /usr/local/redis/src/redis-cli -p 6381 --raw

    set name '丁洁'

    get name

    

    /usr/local/redis/src/redis-cli -p 6382 --raw

    get name

    

      /usr/local/redis/src/redis-cli -p 6382 --raw

    get name

    

    注:

    --raw 中文显示

    主6381设置name值,可以在从6382、6383取到,但是从不能设置值。

4.开机自启服务

  mkdir /usr/local/redis-ms/script

  cd /usr/local/redis-ms/script/

  1)start.sh启动脚本

    vim ./start.sh

#!/bin/sh
/usr/local/redis/src/redis-server /usr/local/redis-ms/6381/redis.conf
/usr/local/redis/src/redis-server /usr/local/redis-ms/6382/redis.conf
/usr/local/redis/src/redis-server /usr/local/redis-ms/6383/redis.conf

 

  2)stop.sh停止脚本

    vim ./stop.sh    

#!/bin/sh
/usr/local/redis/src/redis-cli -p 6381 shutdown
/usr/local/redis/src/redis-cli -p 6382 shutdown
/usr/local/redis/src/redis-cli -p 6383 shutdown

 

  3)restart.sh重启脚本

    vim ./restart.sh

#!/bin/sh
systemctl stop redis-ms
systemctl start redis-ms

  4)改变权限

    chmod 777 ./*

    

  5)编写开机服务

    cd /usr/lib/systemd/system/

    vim redis-ms.service

[Unit]
Description=redis-ms
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/redis-ms/script/start.sh
ExecStop=/usr/local/redis-ms/script/stop.sh
ExecReload=/usr/local/redis-ms/script/restart.sh
[Install]
WantedBy=multi-user.target 

    改变权限

      chmod 777 redis-ms.service

    进程服务重加载

      systemctl daemon-reload

    开机启动主从

      systemctl enable redis-ms.service

    启动主从

      systemctl start redis-ms.service

    关闭主从

      systemctl stop redis-ms.service

    重启主从

      systemctl restart redis-ms.service

  

    

 

posted @ 2018-05-16 15:22  七脉  阅读(8730)  评论(0编辑  收藏  举报