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

  • 哨兵服務器狀態
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章