主從複製概述
主從複製結構模式
- 結構模式
–一主一從
–一主多從
–主從從
主從複製工作模式
- 工作原理
–slave向master發送sync命令
–master啓動後存盤進程,並收集所有修改數據命令
–master完成後臺存盤後,傳送整個數據文件到slave
–slave接受數據文件,加載帶內存中完成首次完全同步
–後續有新數據產生時,master繼續收集數據修改命令依次傳給slave,完成同步
配置主從複製
- 一主一從
master:192.168.4.51/24
slave:192.168.4.52/24
client:192.168.4.50
配置從庫
- redis服務器運行後,默認都是master服務器
192.168.4.52:6352> info replication #查看複製信息
192.168.4.52:6352> slaveof 192.168.4.51 6351 #臨時指定master,重啓redis失效
192.168.4.52:6352> info replication #再次查看複製信息
192.168.4.52:6352>
- 永久生效:
vim /etc/redis/6379.conf
slaveof 192.168.4.51 6351 #在文件末尾添加或在原有配置項上修改都可以永久生效
或者
192.168.4.52:6352> config rewrite #讓寫的配置寫入配置文件中
反客爲主
- 將從庫恢復爲主庫
192.168.4.52:6352>slaveof no one #臨時設置
OK
永久改配置或config rewrite
配置帶驗證的主從複製
- 配置master
–設置連接密碼,重啓服務
vim +501 /etc/redis/6379.conf
....
501 requirepass 123456
....
/etc/init.d/redis_6379 restart
- 配置slave
方法一:
vim +289 /etc/redis/6379.conf
masterauth 123456
在文件末尾加也可以
/etc/init.d/redis_6379 restart
方法二:
192.168.4.52:6352>config set masterauth 123456
192.168.4.52:6352>config rewrite
哨兵服務
哨兵服務介紹
- 監視master服務器
- 發現master宕機後,將從服務器升級爲主服務器
- 主配置文件:sentinel.conf
- 模板文件:redis-4.0.8/sentinel.conf
配置哨兵服務
- 安裝redis軟件
yum -y install gcc
tar -zxf redis-4.0.8.tar.gz
cd redis-4.0.8/
make && make install
##不必初始化配置
- 創建主配置文件
vim /etc/sentinel.conf #創建主配置文件
sentinel monitor server51 192.168.4.51 6351 1 #監視主服務器
bind 0.0.0.0 #哨兵服務地址(表示本機所有網絡接口)
sentinel auth-pass server51 123456 #主服務器密碼
port=26379 #可以不寫,默認端口是26379
- 啓動哨兵服務
redis-sentinel /etc/sentinel.conf
#啓動哨兵服務