Docker下Redis集群(主從+哨兵)安裝配置的實現步驟

一、所有機器拉去鏡像

docker pull redis

二、主從集群搭建

2.1、redis.cong 文件

2.1.1、主節點:

bind  0.0.0.0
protected-mode no
//redis配置訪問密碼
requirepass 123456
//主節點密碼  哨兵模式下主節點宕機從新恢復變成從節點  需要密碼
masterauth 123456

2.1.2、從節點:

bind  0.0.0.0
protected-mode no
requirepass 123456
//主節點訪問密碼
masterauth 123456
//主節點信息
slaveof  *.*.*.* 6379

2.2、創建本地映射文件夾,並將 redis.conf 放到 /usr/local/redis/conf 文件夾內

# /usr/local/redis
cd /usr/locar/redis
mkdir conf
mkdir data

2.3、啟動redis

docker run -p 6379:6379 --name redis \
-v /usr/local/redis/conf/redis.conf:/etc/redis/redis.conf \
-v /usr/local/redis/data:/data \
-d redis redis-server /etc/redis/redis.conf --appendonly yes

2.4、校驗redis主從集群安裝是否成功

### 在主節點查看
# 進入容器內部
docker exec -it redis bash
 
# 進入redis
redis-cli
 
# 校驗密碼
auth 123456
 
# 查看集群信息
info replication

三、開啟哨兵模式

3.1、sentinel.conf 配置文件

#### 根據需要修改一下內容 
# 讓sentinel服務後臺運行(docker的話需要設置為no,非docker運行設置為yes, 因為docker有個-d屬性就是讓在後臺運行的)
daemonize no 
 
# 修改日志文件的路徑
logfile "/data/sentinel.log"
 
# 修改監控的主redis服務器
# 最後一個2表示,兩臺機器判定主被動下線後,就進行failover(故障轉移)
sentinel monitor mymaster *.*.*.*(公網ip) 6390 2
 
#超過5秒master還沒有連接上,則認為master已經停止
sentinel down-after-milliseconds mymaster 5000
 
 
sentinel auth-pass mymaster 123456

3.2、創建本地映射文件夾,並將 sentinel.conf 放到 /usr/local/redis-sentinel/conf 文件夾內

# /usr/local/redis
cd /usr/locar/redis-sentinel
mkdir conf
mkdir data

3.3、啟動 redis-sentinel 進程

docker run -d --name sentinel -p 26379:26379  \
-v /usr/local/redis-sentinel/conf/sentinel.conf:/etc/sentinel.conf \
-v /usr/local/redis-sentinel/data:/data redis redis-sentinel /etc/sentinel.conf

3.4、進入 redis-sentinel 容器內查看

# 進入sentinel節點
docker exec -it sentinel redis-cli  -p 26379
# 查看sentinel信息
info sentinel

3.5、服務測試

  • 關閉 master 節點
  • 執行二、主從集群搭建的2.4校驗模塊,多次執行 info replication 查看信息發生的變化
  • 或者監聽哨兵配置的日志文件,可以實時看到其發生的變化

到此這篇關於Docker下Redis集群(主從+哨兵)安裝配置的實現步驟的文章就介紹到這瞭,更多相關Docker Redis集群配置內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: