centos7配置Redis(二主二從)

配置環境:
兩臺虛擬機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

centos7配置Redis(二主二從)
centos7配置Redis(二主二從)
centos7配置Redis(二主二從)
centos7配置Redis(二主二從)
配置主機(2)(從機3)ide

bind + 第二臺主機IP
port 6379
daemonize  no   #  這個爲後臺運行程序  改爲yes
logfile            #  前面加註釋  給註釋掉
slave-priority 25   #設爲25(優先級)
slaveof 192.168.124.48 6379(主機1IP加端口)

centos7配置Redis(二主二從)
centos7配置Redis(二主二從)
centos7配置Redis(二主二從)
centos7配置Redis(二主二從)
centos7配置Redis(二主二從)
從機配置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加端口)

centos7配置Redis(二主二從)
centos7配置Redis(二主二從)
centos7配置Redis(二主二從)
配置主機2哨兵文件:3d

port  26379 (默認端口爲26379)
daemonize no
sentinel monitor mymaster  192.168.124.48 6379 2  (「2」表明若是有兩個哨兵認爲這臺機器是主機的時候,這臺機器就是主機)

centos7配置Redis(二主二從)
centos7配置Redis(二主二從)

配置從機哨兵:code

vim sentinel.conf
daemonize yes
port 26379 (默認端口爲26379)
slaveof 192.168.124.48 6379 2 (「2」表明若是有兩個哨兵認爲這臺機器是主機的時候,這臺機器就是主機)
protected-mode no

centos7配置Redis(二主二從)
centos7配置Redis(二主二從)

啓動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

centos7配置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個。
centos7配置Redis(二主二從)
從機顯示本身角色爲slave
centos7配置Redis(二主二從)
若是主機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'
當前狀態誰是主機,誰就有寫的權限

centos7配置Redis(二主二從)
其他三臺從機,只有讀的權限,沒有寫的權限
centos7配置Redis(二主二從)

key *
(在從機上應該都會顯示主機剛剛建立的鍵值對 [qqq:zzz])
主機上已經建立了qqq這個鍵
centos7配置Redis(二主二從)
從機上都會顯示qqq這個鍵

centos7配置Redis(二主二從)

判斷是否爲二主
宕掉主機 (kill掉主機進程)
哨兵會根據算法推選主機2 爲主
redis-cli -h 192.168.124.104

info replication
centos7配置Redis(二主二從)
redis-cli -h 192.168.124.65
info replication
centos7配置Redis(二主二從)
將主機1啓動
centos7配置Redis(二主二從)
此時 主機1爲從 它的主爲主機2
centos7配置Redis(二主二從)
主機2宕機
centos7配置Redis(二主二從)
哨兵會推選主機1爲主
centos7配置Redis(二主二從)
centos7配置Redis(二主二從)

實現高可用

只要192.168.124.48和192.168.124.104任意一臺啓動着,兩個從機就永遠不可能成爲主機,只有當兩臺主機全都宕機,纔會在兩臺從機中任意選舉一個做爲主機
兩臺主機所有宕機
哨兵會經過算法隨機推選兩個從機任意一個爲主
從機2成爲主
centos7配置Redis(二主二從)
從機1爲從 顯示它的主爲從機1
centos7配置Redis(二主二從)即便兩臺主機所有宕掉,業務也不會中斷,哨兵會隨機推選一個從做爲主

相關文章
相關標籤/搜索