步骤一:将主机192.168.4.51配置为主服务器
1) 每台redis服务器,默认都是主服务器;所以主服务器不需要配置。
[root@redisA ~]# redis-cli -h 192.168.4.51 –p 6351
192.168.4.51:6351> info replication //查看复制信息
# Replication
role:master //是master 服务器
connected_slaves:0 //从服务器个数零台
master_replid:eaa14478158a71c41f947eaea036658c2087e8f2
...
步骤二:将主机192.168.4.52配置为192.168.4.51的从服务器
1)命令行配置(马上生效)
[root@redisB ~]# redis-cli -h 192.168.4.52 –p 6352
192.168.4.52:6352> slaveof 192.168.4.51 6351 //指定主服务器ip地址与端口
OK
192.168.4.52:6352> info replication //查看复制信息
# Replication
role:slave //从服务器
master_host:192.168.4.51 //主服务器ip地址
master_port:6351 //主服务器端口
master_link_status:up //连接状态开启
master_last_io_seconds_ago:3
master_sync_in_progress:0
2)永久配置(重新redis服务后,依然有效)
[root@redisB ~]# vim /etc/redis/6379.conf
slaveof 192.168.4.51 6351 //在文件末尾添加或在原有配置项上修改都可以
:wq
3)在主服务器查看复制信息
[root@redisA ~]# redis-cli -h 192.168.4.51 –p 6351
192.168.4.51:6351> info replication //查看复制信息
# Replication
role:master
connected_slaves:1 //从服务器个数 1台
slave0:ip=192.168.4.52,port=6352,state=online,offset=14,lag=1 //从服务器信息
master_replid:db7932eb0ea4302bddbebd395efa174fb079319f
...
192.168.4.51:6351>
步骤三:测试配置
1)客户端连接主服务器存储数据
[root@client50 ~]# redis-cli -h 192.168.4.51 –p 6351
192.168.4.51:6351> set x 9
2)在从服务器本机登录,查看数据(与主服务器数据一致)
[root@redisB ~]# redis-cli -h 192.168.4.52 –p 6352
192.168.4.52:6352> keys *
1)“x”
配置带验证的主从复制
步骤一:设置主服务器192.168.4.51 设置连接密码123456
1) 修改主服务器的配置文件,设置密码。
[root@redisA ~]# vim +501 /etc/redis/6379.conf
requirepass 123456 //设置密码
:wq
[root@redisA ~]# vim +43 /etc/init.d/redis_6379 //修改脚本
$CLIEXEC -h 192.168.4.51 -p 6351 -a 123456 shutdown //添加密码
:wq
[root@redisA ~]# /etc/init.d/redis_6379 stop //停止服务
[root@redisA ~]# /etc/init.d/redis_6379 start //启动服务
Starting Redis server...
[root@redisA ~]#
[root@redisA ~]# netstat -utnlp | grep :6351 //查看端口
tcp 0 0 192.168.4.51:6351 0.0.0.0:* LISTEN 11523/redis-server
步骤二:配置从服务器192.168.4.52
1) 修改配置文件,设置主服务器连接密码。
[root@redisB ~]# /etc/init.d/redis_6379 stop //停止服务
[root@redisB ~]# vim +289 /etc/redis/6379.conf
masterauth 123456 //设置密码
:wq
[root@redisA ~]# /etc/init.d/redis_6379 start //启动服务
Starting Redis server...
[root@redisA ~]#
[root@redisA ~]# netstat -utnlp | grep :6351 //查看端口
tcp 0 0 192.168.4.51:6351 0.0.0.0:* LISTEN 11523/redis-server
2) 在从服务器本机连接服务,查看复制信息
[root@redisB ~]# redis-cli -h 192.168.4.52 –p 6352
192.168.4.52:6352> info replication //查看复制信息
# Replication
role:slave //从服务器
master_host:192.168.4.51 //主服务器ip地址
master_port:6351 //主服务器端口
master_link_status:up //连接状态开启
master_last_io_seconds_ago:3
master_sync_in_progress:0
哨兵服务
……
步骤一:配置哨兵服务(192.168.4.57)
1) 安装源码软件redis ,无需做初始化配置。
[root@redis57 redis]# yum -y install gcc
[root@redis57 redis]# tar -zxf redis-4.0.8.tar.gz
[root@redis57 redis]# cd redis-4.0.8/
[root@redis1 redis-4.0.8]# make
[root@redis1 redis-4.0.8]# make install
2)编辑主配置文件
[root@redis57 redis]# vim /etc/sentinel.conf //创建主配置文件 注意:源码包内有配置文件模板
sentinel monitor server51 192.168.4.51 6351 1 //监视主服务器
bind 0.0.0.0 //哨兵服务地址(表示本机所有网络接口)
sentinel auth-pass server51 123456 //主服务器密码
:wq
3)启动哨兵服务
[root@redis57 redis]# redis-sentinel /etc/sentinel.conf //启动哨兵服务
25371:X 28 Sep 11:16:54.993 # +sdown master redis51 192.168.4.51 6351
25371:X 28 Sep 11:16:54.993 # +odown master redis51 192.168.4.51 6351 #quorum 1/1
25371:X 28 Sep 11:16:54.993 # +new-epoch 3
25371:X 28 Sep 11:16:54.993 # +try-failover master redis51 192.168.4.51 6351
25371:X 28 Sep 11:16:54.994 # +vote-for-leader be035801d4d48eb63d8420a72796f52fc5cec047 3
...
25371:X 28 Sep 11:16:55.287 * +slave slave 192.168.4.51:6351 192.168.4.51 6351 @ redis51 192.168.4.52 6351
25371:X 28 Sep 11:17:25.316 # +sdown slave 192.168.4.51:6379 192.168.4.51 6379 @ redis51 192.168.4.52 6352
步骤二:测试配置
1)停止主服务器51的redis服务
[root@redisA ~]# /etc/init.d/redis_6379 stop
2)在服务器52主机,查看复制信息
[root@redisB ~]# redis-cli -h 192.168.4.52 -p 6352
192.168.4.52:6352> info replication
# Replication
role:master //角色是master
connected_slaves:0
……
……