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/
Ubuntu 12.04 安装Redis并设置主从复制的更多相关文章
- ubuntu 12.04 安装 redis
原文地址:http://ijonas.com/software-development/nosql/412/ 1 Installing Redis 2.6.x on Ubuntu 12.04 and ...
- ubuntu 12.04 安装Docker 实战
2016-3-8 从网络服务商那里申请到一台Ubuntu测试服务器,用来测试安装Docker环境. 注:本人初学Docker,对Linux命令也仅是稍稍了解,如有错误,烦请告知. 查看系统相关信息 可 ...
- 在Ubuntu 12.04安装和设置Samba实现网上邻居共享
转载:http://www.startos.com/ubuntu/tips/2012031333097.html 有微小改动. Samba 是一款功能强大的共享工具,可以实现与win ...
- Ubuntu 12.04 安装 Apache2+PHP5+MySQL
LAMP是Linux web服务器组合套装的缩写,分别是Apache+MySQL+PHP.此教程教大家如何在Ubuntu 12.04 LTS server 上安装Apache2服务器,包括PHP5(m ...
- Ubuntu 12.04 安装MySQL
本文地址:http://www.cnblogs.com/yhLinux/p/4012689.html 本文适合新手入门. 本文是对 Ubuntu 12.04 环境下安装 MySQL 的记录,通过这两天 ...
- 【转】Ubuntu 12.04 安装JDK 8和Eclipse
原文网址:http://blog.csdn.net/yechaodechuntian/article/details/24853813 Ubuntu 12.04 下安装 JDK8 方法一:(缺点是安装 ...
- ubuntu 12.04 安装 nginx+php+mysql web服务器
Nginx 是一个轻量级,以占用系统资源少,运行效率而成为web服务器的后起之秀,国内现在很多大型网站都以使用nginx,包括腾讯.新浪等大型信息网站,还有淘宝网站使用的是nginx二次开发的web服 ...
- [转] ubuntu 12.04 安装 nginx+php+mysql web服务器
Nginx 是一个轻量级,以占用系统资源少,运行效率而成为web服务器的后起之秀,国内现在很多大型网站都以使用nginx,包括腾讯.新浪等大型信息网站,还有淘宝网站使用的是nginx二次开发的web服 ...
- Ubuntu 12.04 安装JDK 8和Eclipse
Ubuntu 12.04 下安装 JDK8 方法一:(缺点是安装时附加openjdk等大量程序并无法去除,长处是安装简单) $ sudo apt-get install eclipse 方法二:(长处 ...
随机推荐
- 字符串算法hash
思路:给字符串做一个映射,两个元素相同,则他们的hash值必定相同. 注意:hash表必须是unsigned int类型,保证每个映射都是正数. 例题: Description 给出两个字符串W和T, ...
- tomcat 服务器故障排除
故障现象 通过浏览器访问tomcat服务器发现服务器没有响应. 问题分析检查 登陆服务器发现,TOMCAT服务器并没有宕机,服务还在. 使用JPS命令查看了一下tomcat的进程ID,获取进程ID后, ...
- openstack的网络、子网、端口的关系
network network 是一个隔离的二层广播域.Neutron 支持多种类型的 network,包括 local, flat, VLAN, VxLAN 和 GRE. locallocal 网络 ...
- Linux 的虚拟文件系统(强烈推荐)
1 引言 Linux 中允许众多不同的文件系统共存,如 ext2, ext3, vfat 等.通过使用同一套文件 I/O 系统 调用即可对 Linux 中的任意文件进行操作而无需考虑其所在的具体文件系 ...
- 前端开发利器自定义Iconfont图标
前端开发难免遇到很多地方需要图片来展示,以往我们都会使用img.background.font文件实现图片,本人使用bootstrap,但由于前端比较火的bootstrap的font库太少不能满足我们 ...
- ng-repeat动态改变样式
当我们使用AngularJs的ng-repeat时候动态绑定数据时,遇到遍历出来的标签样式都一样,这时候希望根据数组的下标分别对应不同的样式 解决:使用$index获取数组下标根据下标改变样式 < ...
- SecureCRTv7.3 和 navicat110_mysql
激活步骤: 一.首次使用: 1.保持SecureCRT未打开. 2.打开注册机keygen.exe文件(Windows vista ,7,8需要以管理员身份运行),点击[Patch]按钮,会让你选择文 ...
- python之深浅copy
深浅copy 1.赋值运算 a = [1, 2, 3] b = a a.append(666) print(b) #output:[1, 2, 3, 666] 对于赋值运算来说,a与b指向的是同一个内 ...
- 【译】Surface中你也许不知道的五件事
Bring up the Quick Link Menu - Select the Windows Key + X or right click the Start Button to bring u ...
- php开发工具,zendstudio13使用方法补丁
官网原版下载http://downloads.zend.com/studio ... win32.win32.x86.exe 破解补丁:链接:http://pan.baidu.com/s/1gdi4U ...