zoukankan      html  css  js  c++  java
  • Ubuntu 12.04 安装Redis并设置主从复制

    今天想在Ubuntu上安装一个Redis服务器并配置Master-Slave,一开始懒得连VPN就查了一些国内的文章,不知道是没有亲自验证过的转载文章,还是版本问题造成的,发现按照步骤都没能成功完成配置。因此自己找到一篇国外的文章(链接在本章最后的参考文章),按照其步骤成功配置了Redis的Master-Slave模式。我将所有步骤整理下来,希望对Redis的Master-Slave模式感兴趣的同学能起到一点帮助作用。

    系统配置

    Windows 10 专业版

    VMWare 11.1.0

    Ubuntu 12.04 LTS

    Redis-Server 2.2.12

    注:本文旨在介绍安装Redis并配置Master-Slave,因此在VM上安装Ubuntu的过程请参见其他相关文章。

    Master的安装步骤

    Step 1 - 在虚拟机(192.168.107.130)上安装Redis:

    sudo apt-get install redis-server

    Step 2 - 配置Master:

    sudo vim /etc/redis/redis.conf

    由于我们需要配置Master-Slave模式,因此要将Redis的IP绑定到公共IP上(也就是其他机器能访问到的IP,我自己在虚拟机上使用的是NAT模式,安装Master的虚拟机IP为:192.168.107.130)。

    • Step 2.1 - 修改bind节点:

    在redis.conf中找到:

    bind 127.0.0.1

    将其修改为(其中192.168.107.130即为Master的IP地址):

    bind 192.168.107.130

     

    Step 2.2 - 设置访问密码:

    在redis.conf中找到:

    requirepass foobared

    将其修改为(123456即为你自己想要设定的Redis访问密码,你可以自行设定喜欢的密码):

    requirepass 123456

    设置完之后,保存redis.conf文件。

    Step 2.3 - 重启Redis服务:

    sudo /etc/init.d/redis-server restart

    Master的设置就这样完成了,怎么样,是不是很简单?接下去我们继续配置Slave。

    Slave的安装步骤

    Step 1 - 在另外一台虚拟机(192.168.107.131)上安装Redis,步骤和Master完全一样:

    sudo apt-get install redis-server

    Step 2 - 配置Slave:

    sudo vim /etc/redis/redis.conf

    同样的将Slave的IP绑定到公共IP上,即安装Slave的虚拟机IP:192.168.107.131。

    • Step 2.1 - 修改bind节点:

    在redis.conf中找到:

    bind 127.0.0.1

    将其修改为(其中192.168.107.131即为Slave的IP地址):

    bind 192.168.107.131

     

    • Step 2.2 - 指定Master的IP+Port:

    在redis.conf中找到:

    slaveof <masterip> <masterport>

    将其修改为(其中192.168.107.130即为Master的IP地址,6379是Master上Redis的默认端口):

    slaveof 192.168.107.130 6379

    • Step 2.2 - 指定Master的验证密码:

    在redis.conf中找到:

    masterauth <master-password>

    将其修改为(我们在配置Master的过程中设置了Master的密码是:123456):

    masterauth 123456

    需要注意的是:本例中,我们并没有为Slave设置密码。设置完之后,保存redis.conf文件。

    Step 2.3 - 重启Redis服务:

    sudo /etc/init.d/redis-server restart

    测试

    在Master(192.168.107.130)中依次执行如下命令:

    redis-cli -h 192.168.107.130  //必须通过-h指定启动redis-cli的ip
    AUTH 123456 //由于我们设置了master的密码为123456,因此必须使用AUTH命令进行授权,否则无权执行操作
    set name1 "Daniel" //添加一个key-value
    set name2 "Sophie" //再添加一个key-value
    keys * //查看是否已经正确插入

    在Slave(192.168.107.131)中依次执行如下命令:

    redis-cli -h 192.168.107.131  //必须通过-h指定启动redis-cli的ip
    keys * //查看是否已经同步到Slave

    可以看到,Slave已经将Master中存储的内容同步过来了,大家也可以继续自行往Master中添加一些数据进行测试。

    参考文章

    http://bencane.com/2013/11/12/installing-redis-and-setting-up-master-slave-replication/

  • 相关阅读:
    Mysql(11)_Mysql权限与安全
    Mysql(10)_存储过程与流程控制
    Java(43)_AWT事件处理挂关闭生效
    6.实现合同测试用例
    6.测试库优化
    5.案例回顾及编写测试用例
    4.测试案例实现代码库与测试用例V2.0
    3.测试案例实现代码库与测试用例
    markdown语法学习
    1.faker批量随机造数据
  • 原文地址:https://www.cnblogs.com/wushangjue/p/4733290.html
Copyright © 2011-2022 走看看