配置redis主从复制(centos)及注意
win7+centos
配置redis主从IP和port:
master and slave | ip | port |
master | 127.0.0.1--改成局域网ip192.168.176.128 | 6379 |
slave1 | 127.0.0.1--改成局域网ip192.168.176.128 | 6380 |
slave2 | 127.0.0.1--改成局域网ip192.168.176.128 |
6381 |
- 下载文件:
wget http://download.redis.io/releases/redis-3.2.1.tar.gz
- 解压缩:
tar zxvf redis-3.2.1.tar.gz
mv redis-3.2.1 redis-3.2.1.master
tar zxvf redis-3.2.1.tar.gz
mv redis-3.2.1 redis-3.2.1.slave-1
tar zxvf redis-3.2.1.tar.gz
mv redis-3.2.1 redis-3.2.1.slave-2
![](https://images2015.cnblogs.com/blog/731047/201607/731047-20160711195212639-1404450619.png)
- 执行make和make test
分别进入文件夹:redis-3.2.1.master、redis-3.2.1.slave-1和redis-3.2.1.slave的src目录,执行命令:
cd redis-3.2.1.master/src
make
make test
//其他两个目录执行相同的操作
执行成功后会提示:
![](https://images2015.cnblogs.com/blog/731047/201607/731047-20160711195213186-1195768065.png)
修改配置文件:redis.conf
配置文件位于:(需要修改3个配置文件)
![](https://images2015.cnblogs.com/blog/731047/201607/731047-20160711195213639-646879098.png)
主要修改4个参数:
- port;
- logfile;
- slaveof;
- pidfile;
- daemonize(配置以daemon方式运行)
- 修改master文件:redis.conf:
配置文件的其他部分不要改动,修改如下内容:
port 6379
pidfile /var/run/redis_6379.pid
# slaveof <masterip> <masterport>
logfile "/data/logs/redis.master.log"
daemonize yes
- 修改slave1的配置文件:
port 6380
pidfile /var/run/redis_6380.pid
slaveof 127.0.0.1 6379
logfile "/data/logs/redis.slave-6380.log"
daemonize yes
- 修改slave2的配置文件:
port 6381
pidfile /var/run/redis_6381.pid
slaveof 127.0.0.1 6379
logfile "/data/logs/redis.slave-6381.log"
daemonize yes
注意:在 / 根目录在建立
/data/logs/redis.master.log
/data/logs/redis.slave-6380.log
/data/logs/redis.slave-6381.log
三、开启master和slave1、slave2
- 开启master (salve的开启方式与此类似)
转到目录:redis-3.2.1.master 下(slave则转到相应的目录),执行:
./src/redis-server redis.conf
运行成功后,查看cat /data/logs/下的master的
logfile
可以看到如下界面:
![](https://images2015.cnblogs.com/blog/731047/201607/731047-20160711195214201-1788827425.png)
- 开启slave1
可以看到slave1开启的情况,如下图:
![](https://images2015.cnblogs.com/blog/731047/201607/731047-20160711195215029-266900493.png)
同时看到master的日志如下:
![](https://images2015.cnblogs.com/blog/731047/201607/731047-20160711195215576-2097483281.png)
- 开启slave2
可以看到slave2开启的情况,如下图:
![](https://images2015.cnblogs.com/blog/731047/201607/731047-20160711195216029-2003046585.png)
同时看到master的日志如下:
![](https://images2015.cnblogs.com/blog/731047/201607/731047-20160711195216467-1815669120.png)
- 查看运行情况
![](https://images2015.cnblogs.com/blog/731047/201607/731047-20160711195216826-1105342707.png)
四、客户端连接-测试同步
- 连接master客户端,并创建数据
redis-cli -h 127.0.0.1 -p 6379
![](https://images2015.cnblogs.com/blog/731047/201607/731047-20160711195217217-20200025.png)
- 连接slave,并查看数据同步情况:
![](https://images2015.cnblogs.com/blog/731047/201607/731047-20160711195217639-1284518306.png)
下面是另一个slave:
![](https://images2015.cnblogs.com/blog/731047/201607/731047-20160711195218029-1940563409.png)
Slave不可以写,只可以读
当连接上redis的slave时,只可以读数据,不可以写数据:
![](https://images2015.cnblogs.com/blog/731047/201607/731047-20160711195218482-1383821989.png)
参考原文:http://www.cnblogs.com/ssslinppp/p/5661419.html
地瓜园