網站首頁 編程語言 正文
一、所有機器拉去鏡像
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 查看信息發生的變化
- 或者監聽哨兵配置的日志文件,可以實時看到其發生的變化
原文鏈接:https://blog.csdn.net/wang_jing_jing/article/details/122626360
相關推薦
- 2022-12-23 Kotlin?try?catch異常處理i詳解_Android
- 2022-11-04 go語言中布隆過濾器低空間成本判斷元素是否存在方式_Golang
- 2022-04-03 用Python實現控制電腦鼠標_python
- 2022-06-13 Docker鏡像的commit操作示例及作用_docker
- 2022-08-11 Python處理文本數據的方法詳解_python
- 2022-09-24 詳解ASP.NET中加密和解密的方法_實用技巧
- 2022-06-27 python?包中的sched?事件調度器的操作方法_python
- 2022-11-24 Linux學習之expect操作詳解_linux shell
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支