1. 程式人生 > >redis主從哨兵模式搭建例項

redis主從哨兵模式搭建例項

最近因專案需要搭建redis環境,有多種模式可以選擇,其中比較經典的一種模式是主從哨兵模式,下面進行這一模式的搭建演示

一臺虛擬機器搭建一個redis主從哨兵模式簡單叢集: 一主、一從、一哨兵

虛擬機器版本   Red Hat 4.1.2-48  記憶體1 G

redis 版本     redis-2.8.19.tar.gz(僅舉例用,版本不規定)

1、上傳redis安裝包及規劃目錄

root使用者登入虛擬機器,進入桌面建立一個資料夾比如 lamp (上傳redis 安裝包用 讀者可自由選擇安裝路徑)

上傳 redis安裝包,解壓安裝包(通常使用linux命令)

tar  -zxvf  redis-2.8.19.tar.gz

將解壓後的目錄改名redis-001 作為 redis 主機包

mv redis-2.8.19   redis-001

再解壓一份,改名為 redis-002 作為redis 從機包,然後目錄結構如下圖所示

進入 redis-001 目錄 進行安裝 make操作(redis-002 同樣需要make)

cd redis-001

make

建立快捷目錄

mkdir   /root/Desktop/lamp/redis-001/bin

將常用的redis 工具從相應資料夾下移動到快捷目錄中,方便集中操作與處理

在redis-001/src目錄下執行移動命令

mv mkreleasehdr.sh redis-benchmark redis-check-aof  redis-cli redis-server /root/Desktop/lamp/redis-001/bin

在redis001目錄下執行移動命令

mv redis.conf sentinel.conf  /root/Desktop/lamp/redis-001/bin

建立日誌目錄 用於存放redis工作日誌檔案

mkdir   /root/Desktop/lamp/redis-001/bin/logs

同樣 對redis-002目錄也進行類似的操作

mkdir   /root/Desktop/lamp/redis-001/bin

redis002/src

mv mkreleasehdr.sh redis-benchmark redis-check-aof  redis-cli redis-server /root/Desktop/lamp/redis-002/bin

redis002

mv redis.conf sentinel.conf  /root/Desktop/lamp/redis-002/bin

 

 

2、修改主機redis.conf配置檔案

daemonize   改為 yes

port  6379   不用改

pidfile          預設不用改

logfile          指定到 redis目錄下的 "/root/Desktop/lamp/redis-001/bin/logs/redis.log"

maxclients  4096         增加最大連線的客戶端數量配置

tcp-keepalive    修改為 60

 

3 修改從機 redis.conf 配置基本同上;

daemonize   改為 yes

port  6380  從機埠

pidfile          預設不用改

logfile          指定到 redis目錄下的 "/root/Desktop/lamp/redis-002/bin/logs/redis2.log"

maxclients  4096         增加最大連線的客戶端數量配置

tcp-keepalive    修改為 60

在最後多一條設定

slaveof  IP     # IP 為主機的IP

例如:slaveof  主機IP  6379

注意:IP redis主機的伺服器IP

筆者這裡為  slaveof 192.168.110.218 6379

 

 

4 配置監聽服務 sentinel.conf

主機,從機 保持一致即可

可以清空原配置檔案,然後直接複製下面資訊

主從機  都要配置上主機的IP和埠(如 主機IP  6379為主機的ip和埠):

筆者這裡僅配置主機的sentinel 哨捕食,從機未配置(實現 一主一從一哨兵,讀者可根據專案需要配置多個哨兵)

這裡監聽哨兵埠為 26379

port 26379

daemonize yes

tcp-keepalive  60

logfile "/root/Desktop/lamp/redis-001/bin/logs/sentinel.log"

sentinel monitor mymaster  主機IP  6379 1

sentinel down-after-milliseconds mymaster 8000

sentinel failover-timeout mymaster 30000

sentinel parallel-syncs mymaster 1

 

 

5、啟動

先啟動主機的服務,再啟動從機的服務

redis-001/bin/redis-server  redis.conf 

redis-002/bin/redis-server  redis.conf 

再啟動監聽服務

redis-001/bin/redis-sentinel  sentinel.conf

 

可以用下列命令 來檢視服務

src/redis-cli  -p  6379 info

src/redis-cli  -p  26379 info

 

用 ps -ef|grep redis 檢視服務程序

檢視日誌目錄檔案

用工程去連線redis哨兵監聽服務,啟動專案tomcat 成功

 

再用redis檢視工具 redis-desktop-manager 檢視主機與從機的 資料儲存情況

再看從機

到此,最簡單的 redis 一主一從一哨兵環境搭建成功!