Redis主从复制 哨兵服务

2020-05-09  本文已影响0人  北小秋


步骤一:将主机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

……

……

上一篇 下一篇

猜你喜欢

热点阅读