配置環境:
兩臺虛擬機linux
關閉防火牆和SElinuxredis
systemctl stop firewalld setenforce 0
兩臺虛擬機必須連的是同一個網
必須在同一個網段
同一個端口
在兩臺虛擬機上邊,下載配置Redis算法
cd /usr/local/src wget http://download.redis.io/releases/redis-3.2.4.tar.gz tar -zxvf redis-3.2.4.tar.gz
而後進入redis-3.2.4目錄中,編譯安裝:vim
make && make install
主機配置Redis文件centos
vim redis.conf bind + 主機IP port 6379 daemonize no # 這個爲後臺運行程序 改爲yes logfile # 前面加註釋 給註釋掉 slave-priority 25 #優先級設爲設爲25
配置主機(2)(從機3)ide
bind + 第二臺主機IP port 6379 daemonize no # 這個爲後臺運行程序 改爲yes logfile # 前面加註釋 給註釋掉 slave-priority 25 #設爲25(優先級) slaveof 192.168.124.48 6379(主機1IP加端口)
從機配置Redis文件centos7
vim redis.conf bind 192.168.124.47 (本機IP) protected-mode yes port 6379 (端口) daemonize no slave-priority 100 (設置優先級,數字小的優先) logfile # 前面加註釋 給註釋掉 slaveof 192.168.124.48 6379 (主機1IP加端口)
配置主機2哨兵文件:3d
port 26379 (默認端口爲26379) daemonize no sentinel monitor mymaster 192.168.124.48 6379 2 (「2」表明若是有兩個哨兵認爲這臺機器是主機的時候,這臺機器就是主機)
配置從機哨兵:code
vim sentinel.conf daemonize yes port 26379 (默認端口爲26379) slaveof 192.168.124.48 6379 2 (「2」表明若是有兩個哨兵認爲這臺機器是主機的時候,這臺機器就是主機) protected-mode no
啓動Redis和哨兵:(一臺主機和兩臺從機啓動哨兵,兩臺主機和兩臺從機啓動redis)server
redis-server /usr/local/src/redis-3.2.4/redis.conf redis-sentinel /usr/local/src/redis-3.2.4/sentinel.conf
查看是否啓動成功:
ps aux | grep redis
實現兩主兩從
1.主從鏈接成功
redis-cli -h 192.168.124.48(主機1)
redis-cli -h 192.168.124.104
redis-cli -h 192.168.124.65
redis-clii -h 192.168.124.47
info replication
主機顯示本身角色爲master
鏈接成功的從機有3個。
從機顯示本身角色爲slave
若是主機down掉以後,哨兵會按優先值來推薦其餘從機爲主。
實現數據同步:
redis-cli -h 192.168.124.48(主機1)
redis-cli -h 192.168.124.104
redis-cli -h 192.168.124.65
redis-cli -h 192.168.124.47
進入redis交互式環境
set 'qqq' 'zzz'
當前狀態誰是主機,誰就有寫的權限
其他三臺從機,只有讀的權限,沒有寫的權限
key *
(在從機上應該都會顯示主機剛剛建立的鍵值對 [qqq:zzz])
主機上已經建立了qqq這個鍵
從機上都會顯示qqq這個鍵
判斷是否爲二主
宕掉主機 (kill掉主機進程)
哨兵會根據算法推選主機2 爲主
redis-cli -h 192.168.124.104
info replication
redis-cli -h 192.168.124.65
info replication
將主機1啓動
此時 主機1爲從 它的主爲主機2
主機2宕機
哨兵會推選主機1爲主
實現高可用
只要192.168.124.48和192.168.124.104任意一臺啓動着,兩個從機就永遠不可能成爲主機,只有當兩臺主機全都宕機,纔會在兩臺從機中任意選舉一個做爲主機
兩臺主機所有宕機
哨兵會經過算法隨機推選兩個從機任意一個爲主
從機2成爲主
從機1爲從 顯示它的主爲從機1
即便兩臺主機所有宕掉,業務也不會中斷,哨兵會隨機推選一個從做爲主