天天看點

超友善的linux中搭建基本的redis哨兵模式(1主2從3哨兵)

目錄

下載下傳安裝包

解壓安裝包并安裝

 配置檔案

啟動

下載下傳安裝包

wget http://download.redis.io/releases/redis-5.0.5.tar.gz
           

解壓安裝包并安裝

tar xzf redis-5.0.5.tar.gz
cd redis-5.0.5
make
make install
           

編譯後在Redis源代碼目錄的src檔案夾中可以找到若幹個可執行程式,安裝完後,在/usr/local/bin目錄中可以找到剛剛安裝的redis可執行檔案 

超友善的linux中搭建基本的redis哨兵模式(1主2從3哨兵)

 配置檔案

redis的哨兵模式最少需要三個哨兵節點來保證選舉的可靠性

我們建立三個不同端口的哨兵配置檔案,下面貼出其中一個配置檔案,另外兩個配置檔案直接複制此模闆,并更改成不同的端口

#sentinel端口
port 26379

#工作路徑,注意路徑不要和主重複

dir "/usr/local/redis/sentinel"

# 守護程序模式

daemonize yes

#關閉保護模式

protected-mode no

# 指明日志檔案名

logfile "./sentinel.log"

#哨兵監控的master,主從配置一樣,這裡隻用輸入redis主節點的ip/port和法定人數。

sentinel myid e3192305b8270925d9f458ce1b2d9358d2310be3

# master或slave多長時間(預設30秒)不能使用後标記為s_down狀态。

sentinel deny-scripts-reconfig yes

#若sentinel在該配置值内未能完成failover操作(即故障時master/slave自動切換),則認為本次failover失敗。

sentinel monitor mymaster 127.0.0.1 6379 2

#設定master和slaves驗證密碼

sentinel down-after-milliseconds mymaster 5000

sentinel failover-timeout mymaster 18000
#指定了在執行故障轉移時, 最多可以有多少個從伺服器同時對新的主伺服器進行同步
# Generated by CONFIG REWRITE
sentinel auth-pass mymaster 123456
sentinel config-epoch mymaster 0
sentinel leader-epoch mymaster 0
sentinel known-replica mymaster 127.0.0.1 6381
sentinel known-replica mymaster 127.0.0.1 6380
sentinel current-epoch 0
           

 這樣我們就得到三個哨兵的配置檔案

超友善的linux中搭建基本的redis哨兵模式(1主2從3哨兵)

配置主從

 預設的配置檔案直接開箱即用不需要作特别的更改,這裡就不貼出來了。

從庫配置的重點(這裡用的是最新版的redis),指定主庫的ip和端口用replicaof來指定,老版本應該是叫slave of。

超友善的linux中搭建基本的redis哨兵模式(1主2從3哨兵)

所有的配置檔案都準備好了

啟動

找到安裝目錄的二進制可執行檔案,

啟動主庫:./redis-server /usr/local/config/redis.conf 

啟動從庫1:./redis-server /usr/local/config/redis6380.conf 

啟動從庫2:./redis-server /usr/local/config/redis6381.conf 

啟動哨兵1:./redis-server /usr/local/config/sentinel26379.conf 

啟動哨兵2:./redis-server /usr/local/config/sentinel26379.conf 

啟動哨兵3:./redis-server /usr/local/config/sentinel26379.conf 

這樣一個最基礎的哨兵模式的叢集即搭建完成!生産環境建議遷移到不同的機器以便于容災,這裡為了友善示範放在了一台機器上。

繼續閱讀