CentO7 安裝 redis, 主從配置,Sentinel集羣故障轉移切換

 
 
1、Redis的安裝(前提是已經安裝了EPEL)
 
安裝redis:
yum -y install redis
啓動/中止/重啓 Redis
啓動服務:
systemctl start redis.service
中止服務:
systemctl stop redis.service
重啓服務:
systemctl restart redis.service
檢查狀態:
systemctl status redis.service
隨系統啓動服務:
systemctl enable redis.service
關閉隨系統啓動:
systemctl disable redis.service
 
2、redis基本命令的使用
登錄redis
> redis-cli -h 127.0.0.1 -p 6379
set操做
> set k1 123456
get操做
> get k1
查找全部key
> keys *
判斷key是否存在
> exists 123
刪除指定key
> del k1
獲取key的類型
> type k1
查看當前redis的信息
> info
選擇不一樣的db,redis中的db並無很強的區分
> select 1
清除全部的key
> flushall
 
3、開啓遠程鏈接服務
ps -ef | grep redis 查看只能本機IP的機器能夠訪問
打開配置文件
vi /etc/redis.conf
經常使用工具redis desktop manageer 使用指南

 

查看redis版本
 redis-server --version
 
4、Redis的主從配置
例如:四臺服務器
192.168.237.101, matser
192.168.237.102   slave
192.168.237.103   slave
192.168.237.104   slave
 
四臺機器所有安裝redis
修改配置文件
vi /etc/redis.conf
 
#bind 127.0.0.1
protected-mode no
daemonize yes
appendonly yes
slaveof 192.168.237.101 6379 #只有slave節點須要開啓這條指令
 
從新啓動四臺機器redis
 
Master服務器可讀寫,
slave服務器同步成功只能讀不能寫,打開能夠讀須要修改配置
slave-read-only no
5、Redis-sentinel的哨兵災備切換配置
兩臺機器安裝redis
例如
192.168.236.104
192.168.236.105
修改該sentinel配置文件
vi /etc/redis-sentinel.conf
 
protected-mode no
sentinel monitor mymaster 192.168.237.101 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 15000
sentinel parallel-syncs mymaster 1
 
 
mymaster 後面跟master的ip 和端口 最後一個2 表明只要有兩個sentienl認爲master下線就認爲該master 客觀下線 啓動failover 並選舉新的master 一般最後一個參數不能多餘啓動的sentinel實例數
 
down-after-milliseconds 服務器不可靠的判斷依據
parallel-syncs 在故障轉移成功後,立刻將切到新的master的slave數量
啓動sentinel 服務
Systemctl start redis-sentinel
參數參考意義地址
 
查看sentinel日誌文件
vi  /var/log/redis/sentinel.log
殺掉 redis master 進程
查看sentinel日誌進程

 

Sdown 檢測到主觀下線
Odown 檢測到客觀下線
try-failover master mymaster  嘗試故障轉移切換
switch-master mymaster 192.168.237.101 6379 192.168.237.102 6379
切換主master 101 到 102
 
查看主從配置

 

SDOWN適合於Master和Slave,只要一個Sentinel 發現Master進入了ODOWN, 這個Sentinel就可能會被其餘Sentinel推選出, 並對下線的主服務器執行自動故障遷移操做。
ODOWN只適用於Master,對於Slave的Redis實例,Sentinel在將它們判斷爲下線前不須要進行協商,因此Slave的Sentinel永遠不會達到ODOWN。
相關文章
相關標籤/搜索