Redis(二主二從)搭建(配置安裝)

在這裏插入圖片描述
一、什麼是Redis?

Redis(全稱:Remote Dictionary Server 遠程字典服務)是一個開源的使用ANSI C語言編寫、支持網絡、可基於內存亦可持久化的日誌型、Key-Value數據庫,並提供多種語言的API。

redis是一個key-value存儲系統。redis支持各種不同方式的排序。與memcached一樣,爲了保證效率,數據都是緩存在內存中。區別的是redis會週期性的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件,並且在此基礎上實現了master-slave(主從)同步。

Redis支持主從同步。數據可以從主服務器向任意數量的從服務器上同步,從服務器可以是關聯其他從服務器的主服務器。這使得Redis可執行單層樹複製。存盤可以有意無意的對數據進行寫操作。由於完全實現了發佈/訂閱機制,使得從數據庫在任何地方同步樹時,可訂閱一個頻道並接收主服務器完整的消息發佈記錄。同步對讀取操作的可擴展性和數據冗餘很有幫助。

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

配置環境:
兩臺虛擬機,必須連同一個網,同一個網段,同一個端口
1.關閉防火牆和沙盒
systemctl stop firewalld
setenforce 0

2.在兩臺虛擬機上面,下載配置redis
cd /usr/local/src
wget http://download.redis.io/releases/redis-3.2.4.tar.gz

3.tar -zxvf redis-3.2.4.tar.gz
cd redis-3.2.4.tar.gz
然後進入redis-3.2.4目錄中,編譯安裝:
make && make install

4.主機配置Redis文件
vim redis.conf
bind + 主機IP
port 6379
daemonize no # 這個爲後臺運行程序 改成yes
logfile # 前面加註釋 給註釋掉
slave-priority 25 #優先級設爲設爲25
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

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

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

從機配置Redis文件
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哨兵文件:
port 26379 (默認端口爲26379)
daemonize no
sentinel monitor mymaster 192.168.124.48 6379 2 (“2”代表如果有兩個哨兵認爲這臺機器是主機的時候,這臺機器就是主機)
在這裏插入圖片描述
在這裏插入圖片描述

配置從機哨兵:
vim sentinel.conf
daemonize yes
port 26379 (默認端口爲26379)
slaveof 192.168.124.48 6379 2 (“2”代表如果有兩個哨兵認爲這臺機器是主機的時候,這臺機器就是主機)
protected-mode no

在這裏插入圖片描述
在這裏插入圖片描述

啓動Redis和哨兵:(一臺主機和兩臺從機啓動哨兵,兩臺主機和兩臺從機啓動redis)

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這個鍵
在這裏插入圖片描述
判斷是否爲二主
宕掉主機 (kill掉主機進程)
哨兵會根據算法推選主機2 爲主
redis-cli -h 192.168.124.104
在這裏插入圖片描述
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
在這裏插入圖片描述
即使兩臺主機全部宕掉,業務也不會中斷,哨兵會隨機推選一個從作爲主

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章