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 一主一從一哨兵環境搭建成功!