Redis-主从复制、哨兵服务

一、概述

  • 数据存储结构
    主服务器:客户端存取数据连接主机
    从服务器:自动同步主服务器的数据

  • 结构模式
    一主一从
    一主多从
    主从从

  • 主从复制工作原理
    主从配置完成后,从服务器向主服务器发送同步数据的请求;
    主服务器接收到请求后,会启动后台存盘进程,后台会创建一个进程,单独处理从服务器同步数据的请求,并且收集所有修改数据的命令到一个文件中。
    主服务器完成后台存盘后,传送数据到从服务器。
    从服务器接受数据文件,加载到内存中完成首次完全同步。
    后续有新数据产生,,主服务器继续收集数据修改命令,依次传给从服务器,完成同步。

  • 配置从服务器成功后,主服务器的数据会把从服务器数据覆盖掉。

二、配置一主一从

2.1、一主一从实验拓扑

在这里插入图片描述

2.2、配置

  • 相关命令:
    查看复制信息:info replication
    命令行临时配置:slaveof 主服务器Ip 主服务器端口
    slaveof no one
  • 临时配置从服务器
    redis服务器默认为主服务器。
[root@slave1 ~]# redis-cli -h 192.168.4.52 -p 6352
192.168.4.52:6352> SLAVEOF 192.168.4.51 6351	//临时配置,重启服务后失效
OK
192.168.4.52:6352> INFO replication
# Replication
role:slave
master_host:192.168.4.51
master_port:6351
master_link_status:up
  • 永久配置
[root@slave1 ~]# vim +282 /etc/redis/6379.conf 
slaveof 192.168.4.51 6351

  • 永久配置后,临时取消从服务器状态
[root@slave1 ~]# redis-cli -h 192.168.4.52 -p 6352
192.168.4.52:6352> SLAVEOF no one
OK
192.168.4.52:6352> INFO replication
# Replication
role:master
connected_slaves:0
重启服务后生效

三、配置一主多从

3.1、一主多从实验拓扑

在这里插入图片描述

3.2、配置

  • 临时
[root@slave2 ~]# redis-cli -h 192.168.4.53 -p 6353
192.168.4.53:6353> slaveof 192.168.4.51 6351
OK
192.168.4.53:6353> INFO replication
# Replication
role:slave
master_host:192.168.4.51
master_port:6351
master_link_status:up
  • 永久
[root@slave2 ~]# vim +282 /etc/redis/6379.conf
slaveof 192.168.4.51 6351

四、配置带验证的主从复制

4.1、主服务器设置连接密码

  1. 直接修改配置文件501行,重启服务
  2. 避免服务重启,命令行修改密码
[root@master ~]# redis-cli -h 192.168.4.51 -p 6351
192.168.4.51:6351> CONFIG SET requirepass 123456	//设置密码
OK
192.168.4.51:6351> AUTH 123456		//输入密码才能使用查询命令
OK
192.168.4.51:6351> CONFIG GET requirepass	//查看密码
1) "requirepass"
2) "123456"
192.168.4.51:6351> CONFIG REWRITE 	//将配置保存到配置文件中
OK
[root@master ~]# tail -1 /etc/redis/6379.conf
requirepass "123456"

4.2、从服务器指定主服务器的密码

  1. 修改配置文件289行,masterauth 123456 重启服务
  2. 避免服务重启,命令行指定主服务器密码
[root@slave1 ~]# redis-cli -h 192.168.4.52 -p 6352
192.168.4.52:6352> CONFIG SET masterauth 123456
OK
192.168.4.52:6352> CONFIG REWRITE	
OK
192.168.4.52:6352> INFO replication
# Replication
role:slave
master_host:192.168.4.51
master_port:6351
master_link_status:up	//指定主服务器密码后,连接状态是up
[root@slave1 ~]# tail -1 /etc/redis/6379.conf
masterauth "123456"
  1. 未指定主服务器密码
[root@slave2 ~]# redis-cli -h 192.168.4.53 -p 6353
192.168.4.53:6353> INFO replication
# Replication
role:slave
master_host:192.168.4.51
master_port:6351
master_link_status:down		//连接状态down

五、配置主从从

5.1、主从从实验拓扑

在这里插入图片描述

5.2、配置

  1. 配置主从从结构
[root@redis5 ~]# redis-cli -h 192.168.4.55 -p 6355
192.168.4.55:6355> slaveof 192.168.4.54 6354
OK
[root@redis6 ~]# redis-cli -h 192.168.4.56 -p 6356
192.168.4.56:6356> SLAVEOF 192.168.4.55 6355
OK

  1. 查看
[root@redis4 ~]# redis-cli -h 192.168.4.54 -p 6354
192.168.4.54:6354> INFO replication
# Replication
role:master
connected_slaves:1

[root@redis5 ~]# redis-cli -h 192.168.4.55 -p 6355
192.168.4.55:6355> INFO replication
# Replication
role:slave
master_host:192.168.4.54
master_port:6354
master_link_status:up

[root@redis6 ~]# redis-cli -h 192.168.4.56 -p 6356
192.168.4.56:6356> INFO replication
# Replication
role:slave
master_host:192.168.4.55
master_port:6355
master_link_status:up

六、哨兵服务

6.1、哨兵服务介绍

  • 监视master服务器
  • 发现master宕机后,将从服务器升级为主服务器
  • 主配置文件 sentinel.conf

6.2、实验拓扑

在这里插入图片描述

6.3、配置哨兵服务

  • 基于主从从结构
  1. 安装redis软件
    不存储数据不做初始化
[root@sentinel ~]# yum -y install gcc
[root@sentinel ~]# tar -zxf redis-4.0.8.tar.gz 
[root@sentinel ~]# ls
[root@sentinel ~]# cd redis-4.0.8/
[root@sentinel redis-4.0.8]# make && make install
[root@sentinel ~]# ls redis-4.0.8/sentinel.conf 
redis-4.0.8/sentinel.conf		//配置文件模板
  1. 创建主配置文件
[root@sentinel ~]# vim /etc/sentinel.conf
bind 192.168.4.57
sentinel   monitor  redis_server   192.168.4.54   6354  1
  1. 启动哨兵服务
[root@sentinel ~]# redis-sentinel /etc/sentinel.conf //占用一个终端

6.4、测试配置

[root@redis4 ~]# redis-cli -h 192.168.4.54 -p 6354
192.168.4.54:6354> SHUTDOWN

[root@redis5 ~]# redis-cli -h 192.168.4.55 -p 6355
192.168.4.55:6355> INFO replication
# Replication
role:master
connected_slaves:1

  • 哨兵服务器状态
    在这里插入图片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章