三台伺服器redis一主2從三哨兵模式搭建
- 伺服器準備
-
- 一、 部署redis
-
- 1.下載下傳
- 2. 解壓
- 3.編譯
- 4. 安裝
- 5. 重點:
-
- 5.1建立 bin 和 etc 檔案夾
- 5.2裝載配置檔案在etc
- 5.3在bin下裝載如下檔案
- 5.4 改下redis.conf配置
- 5.5啟動redis指令
- 5.6 用戶端關閉指令:
- 二、redis主從配置
-
- 2.1主機redis配置檔案
- 2.2 從redis配置檔案
- 2.3主從測試
- 三、哨兵配置
-
- 3.1主從哨兵配置一樣
- 3.2驗證哨兵模式
最近使用到了redis叢集部署,使用一主二從三哨兵叢集部署redis,将自己部署的過程中的使用心得分享給大家,希望大家以後部署的過程減少一些坑。
伺服器準備
- 3台伺服器 ,确定主redis和從redis;
- 伺服器需要開通6379和26379端口,關閉防火牆;
- xftp和xshell軟體準備 。
一、 部署redis
1.下載下傳
wget http://download.redis.io/releases/redis-5.0.10.tar.gz
2. 解壓
tar -zxvf redis-5.0.10.tar.gz
3.編譯
進入目錄指令 cd redis-5.0.10
編譯指令 make
4. 安裝
進入src指令 cd src/
安裝指令 make install
5. 重點:
5.1建立 bin 和 etc 檔案夾
進入目錄指令 : cd /root/redis-5.0.10/
建立etc檔案夾: mkdir etc
建立bin檔案夾: mkdir bin
5.2裝載配置檔案在etc
複制檔案指令 cp redis.conf /root/redis-5.0.10/etc
5.3在bin下裝載如下檔案
将mkreleasehdr.sh、redis-benchmark、redis-check-aof、redis-check-rdb、redis-cli、redis-server、redis-sentinel檔案複制到 bin 檔案夾
cd src/
cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-server redis-sentinel /root/redis-5.0.10/bin/
5.4 改下redis.conf配置
修改後的配置如下
bind:0.0.0.0
protected-mode:no
daemonize:yes
requirepass:123456(密碼自己設定)
5.5啟動redis指令
切換到bin目錄,使用下面指令啟動redis
cd /root/redis-5.0.10/bin
./redis-server /root/redis-5.0.10/etc/redis.conf
5.6 用戶端關閉指令:
方式一:redis-cli -p 端口号shutdown
方式二:首先ps -ef | grep redis 擷取程序号 然後kill -9 程序号
二、redis主從配置
2.1主機redis配置檔案
bind : 0.0.0.0 表示允許所有遠端通路
port:端口号 (預設就好)
protected-mode:no (關閉保護模式,可以外部通路)
daemonize:yes (設定為背景啟動)
logfile:./redis.log (日志位址生成後在 bin 目錄下可找到)
requirepass: redis的連接配接密碼
masterauth: slave 服務連接配接 master 的密碼(跟redis密碼一緻)
修改配置檔案後需要重新開機redis
2.2 從redis配置檔案
bind : 0.0.0.0 表示允許所有遠端通路
port:端口号
protected-mode:no (關閉保護模式,可以外部通路)
daemonize:yes (設定為背景啟動)
logfile:./redis.log (日志位址生成後在 bin 目錄下可找到)
requirepass: redis的連接配接密碼
replicaof: 主redis伺服器ip 主redis端口#配置為master的從
masterauth: slave 服務連接配接 master 的密碼(跟redis密碼一緻)
2.3主從測試
1.切換目錄
cd /root/redis-5.0.10/bin/
2.連接配接用戶端
./redis-cli -h ip位址 -p端口号
3.密碼校驗
auth redis密碼
4.主從配置資訊
info replication
有如下資訊代表主從是ok的
Role:代表目前伺服器的角色 master代表主redis,slave代表從redis
Connected_slaves 後面的數字代表從redis的數量
Slave:代表從redis的位址,端口等資訊
在 master 上添加資料,看 slave 上是否會同步資料
三、哨兵配置
3.1主從哨兵配置一樣
port 26379
sentinel monitor mymaster 主redis的ip 6379 2
sentinel auth-pass mymaster redis密碼
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
logfile ./sentinel.log
3.2驗證哨兵模式
1.分别在三台機器上,進入 redis 解壓目錄,依次執行
/usr/local/bin/redis-sentinel sentinel.conf
2. 連接配接任意 sentinel 節點
redis-cli -h ip -p 26379 -a 密碼
3. redis 指令行上,執行 info sentinel 指令
驗證 sentinel 狀态為ok就是正确的,有如下類似資訊,則配置完成