今天想在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/

Ubuntu 12.04 安装Redis并设置主从复制的更多相关文章

  1. ubuntu 12.04 安装 redis

    原文地址:http://ijonas.com/software-development/nosql/412/ 1 Installing Redis 2.6.x on Ubuntu 12.04 and ...

  2. ubuntu 12.04 安装Docker 实战

    2016-3-8 从网络服务商那里申请到一台Ubuntu测试服务器,用来测试安装Docker环境. 注:本人初学Docker,对Linux命令也仅是稍稍了解,如有错误,烦请告知. 查看系统相关信息 可 ...

  3. 在Ubuntu 12.04安装和设置Samba实现网上邻居共享

    转载:http://www.startos.com/ubuntu/tips/2012031333097.html          有微小改动. Samba 是一款功能强大的共享工具,可以实现与win ...

  4. Ubuntu 12.04 安装 Apache2+PHP5+MySQL

    LAMP是Linux web服务器组合套装的缩写,分别是Apache+MySQL+PHP.此教程教大家如何在Ubuntu 12.04 LTS server 上安装Apache2服务器,包括PHP5(m ...

  5. Ubuntu 12.04 安装MySQL

    本文地址:http://www.cnblogs.com/yhLinux/p/4012689.html 本文适合新手入门. 本文是对 Ubuntu 12.04 环境下安装 MySQL 的记录,通过这两天 ...

  6. 【转】Ubuntu 12.04 安装JDK 8和Eclipse

    原文网址:http://blog.csdn.net/yechaodechuntian/article/details/24853813 Ubuntu 12.04 下安装 JDK8 方法一:(缺点是安装 ...

  7. ubuntu 12.04 安装 nginx+php+mysql web服务器

    Nginx 是一个轻量级,以占用系统资源少,运行效率而成为web服务器的后起之秀,国内现在很多大型网站都以使用nginx,包括腾讯.新浪等大型信息网站,还有淘宝网站使用的是nginx二次开发的web服 ...

  8. [转] ubuntu 12.04 安装 nginx+php+mysql web服务器

    Nginx 是一个轻量级,以占用系统资源少,运行效率而成为web服务器的后起之秀,国内现在很多大型网站都以使用nginx,包括腾讯.新浪等大型信息网站,还有淘宝网站使用的是nginx二次开发的web服 ...

  9. Ubuntu 12.04 安装JDK 8和Eclipse

    Ubuntu 12.04 下安装 JDK8 方法一:(缺点是安装时附加openjdk等大量程序并无法去除,长处是安装简单) $ sudo apt-get install eclipse 方法二:(长处 ...

随机推荐

  1. urllib — URL handling modules

    urllib is a package that collects several modules for working with URLs: •urllib.request for opening ...

  2. Win7 MinGW环境测试SDL2.0.3

    下载MinGW版的文件 http://www.libsdl.org/release/SDL2-devel-2.0.3-mingw.tar.gz 解压放到mysys下面 运行Makefile mysys ...

  3. ubuntu 16.04 安装pgadmin3

    1.Ctrl+Alt+t 打开终端 2.输入 wget -q -O - http://www.pgadmin.org/pgp/archive_key_debian_Ubuntu.gpg | sudo ...

  4. s5-15 开放的最短路径优先_OSPF

    L-S路由协议的实例—OSPF 开放的路径优先(Open Shortest Path First) 使用图(graph)来表述真实的网络 - 每个路由器/Lan都是一个节点 - 测量代价/量度(met ...

  5. 好文推荐系列--------(1)bower---管理你的客户端依赖

    好文原文地址:http://segmentfault.com/a/1190000000349555 编者注:我们发现了比较有趣的系列文章<30天学习30种新技术>,准备翻译,一天一篇更新, ...

  6. 723 if while for

    if == 如果 程序结构分为三种 顺序结构 程序按照从上往下的顺序依次执行 分支结构 程序根据某种条件选择要执行的代码 循环结构 可以使代码重复的结构 需求如果温度高于30就开空调 while fo ...

  7. 使用Servlet动态生成验证码

    最近在重新看了一遍servlert,看到篇优质博客推荐给大家:https://www.cnblogs.com/xdp-gacl/p/3798190.html 顺便把学习过程中的知识记录下来. 今天是如 ...

  8. 【python】鼠标操作

    [python]鼠标操作 推荐地址:http://www.cnblogs.com/fnng/p/3288444.html --------------------------------------- ...

  9. 修改Android EditText光标颜色

    EditText有一个属性:android:textCursorDrawable,这个属性是用来控制光标颜色的   android:textCursorDrawable="@null&quo ...

  10. POJ2779 线性DP 或 杨氏三角 和 钩子公式

    POJ2779 线性DP 或 杨氏三角 和 钩子公式 本来就想回顾一下基础的线性DP谁知道今早碰到的都是这种大难题,QQQQ,不会 这个也没有去理解线性DP的解法,了解了杨氏三角和钩子公式,做出了PO ...