redis安装以及主从复制完整版

redis安装以及主从复制完整版
redis版本:redis-3.2.11
主从复制模式:master--> slave1--> slave2
master:10.10.11.32 slave1:10.10.11.33 slave2:10.10.11.34

1.解压安装redis
tar -zxvf redis-3.2.11.tar.gz;cd redis-3.2.11;make;make install
2.配置修改redis配置文件,日志文件。(master,slave1,slave2都做如下修改)
创建配置文件目录:
mkdir /etc/redis ;cp redis-3.2.11/redis.conf /etc/redis/
创建redis日志文件目录:
mkdir /var/log/redis
3.修改redis配置文件:
进入/etc/redis目录,打开redis.conf文件做如下修改:
1) 指定存放redis日志的文件,默认发送至/dev/null文件中 修改为 ====> logfile"/var/log/redis/redis.log"
2) 修改bind字段,将bind 127.0.0.1 修改为bind 0.0.0.0 或者直接注释掉bind字段。
原因如下:
如果redis主服务器绑定了127.0.0.1,那么跨服务器IP的访问就会失败,从服务器用IP和端口访问主的时候,主服务器发现本机6379端口绑在了127.0.0.1上,也就是只能本机才能访问,外部请求会被过滤,这是linux的网络安全策略管理的。如果bind的IP地址是172.168.10.70,那么本机通过localhost和127.0.0.1、或者直接输入命令redis-cli登录本机redis也就会失败了。只能加上本机ip才能访问到。所以,在研发、测试环境可以考虑bind 0.0.0.0,线上生产环境建议绑定IP地址。
3) 修改protected-mode 为 protected-mode no
原因如下:设置为 no,表明不以保护模式运行。
4) slave1服务器还需要如下修改:
修改如下: slaveof 10.10.11.32 6379
slave2服务器还需要如下修改:
修改如下:slaveof 10.10.11.33 6379
从来实现master->slave1->slave2配置。

4.配置修改完毕之后,启动redis服务。
redis-server /etc/redis/redis.conf &

5.检测运行结果:
netstat -lntp | grep redis
运行如下:
tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN 29538/redis-server
tcp 0 0 :::6379 :::* LISTEN 29538/redis-server

6.测试
master服务器 ==> redis-cli set key "hello"
slave1服务器 ==> redis-cli get key
slave2服务器 ==> redis-cli get key

7.参考网址:
构建高性能数据库缓存之Redis(一) http://blog.51cto.com/cfwlxf/1423106
构建高性能数据库缓存之redis主从复制 http://blog.51cto.com/cfwlxf/1433637
redis.conf 配置详细解析 https://www.cnblogs.com/kreo/p/4423362.html

redis单主机多实例 https://www.cnblogs.com/super-d2/p/3855229.html
redis一个实例下多个数据库 http://www.ttlsa.com/redis/redis-database/
主redis 奔溃,从redis升级到主 http://redis.readthedocs.io/en/2.6/server/slaveof.html

原文地址:https://www.cnblogs.com/sherlockhomles/p/8074173.html