version:
"3.1"
services:
redis1:
image: daocloud.io/library/redis:
5.0.7
restart: always
container_name: redis1
environment:-tz
=asia/shanghai
ports:
-7001
:6379
volumes:-.
/conf/redis1.conf:
/usr/local/redis/redis.conf
-./conf/sentinel1.conf:
/data/sentinel.conf # 新增的內容
command:
["redis-server"
,"/usr/local/redis/redis.conf"
] redis2:
image: daocloud.io/library/redis:
5.0.7
restart: always
container_name: redis2
environment:-tz
=asia/shanghai
ports:
-7002
:6379
volumes:-.
/conf/redis2.conf:
/usr/local/redis/redis.conf
-./conf/sentinel2.conf:
/data/sentinel.conf # 新增的內容
links:
- redis1:master
command:
["redis-server"
,"/usr/local/redis/redis.conf"
] redis3:
image: daocloud.io/library/redis:
5.0.7
restart: always
container_name: redis3
environment:-tz
=asia/shanghai
ports:
-7003
:6379
volumes:-.
/conf/redis3.conf:
/usr/local/redis/redis.conf
-./conf/sentinel3.conf:
/data/sentinel.conf # 新增的內容
links:
- redis1:master
command:
["redis-server"
,"/usr/local/redis/redis.conf"
]
哨兵模式裡面有乙個監聽如果主伺服器崩潰會推薦乙個隨機從從伺服器裡找乙個生成新的主伺服器 可以看看哨兵模式介紹以及用法
配置完成以後在當前目錄先建乙個conf資料夾
在裡面寫sentinel1.conf和sentinel2.conf 和sentinel3.conf
sentinel1配置的時候為主機那麼需要在conf檔案裡新增
哨兵需要後台啟動
daemonize yes
指定master節點的ip和埠(主)
sentinel monitor master localhost 6379 2
指定master節點的ip和埠(從)
#sentinel monitor master master 6379 2
哨兵每隔多久監聽一次redis架構
sentinel down-after-milliseconds master 30000
同樣在sentinel2.conf 和sentinel3.conf新增從機的配置檔案
#哨兵需要後台啟動
daemonize yes
#指定master節點的ip和埠(主)
#sentinel monitor master localhost 6379 2
#指定master節點的ip和埠(從)
sentinel monitor master master 6379 2
#哨兵每隔多久監聽一次redis架構
sentinel down-after-milliseconds master 10000
配置完成以後 docker-compose up -d啟動容器在 配置yml檔案下
yml檔案和conf檔案放置同一級目錄下
然後docker ps -a檢視容器id
然後通過docker exec -it 容器id bash進入容器
通過redis-sentinel sentinel.conf執行哨兵
3個都得執行
執行完成以後docker exec -it 容器id bas進入主機redis容器裡面
redis-cli連線redis set name 值
相同方法在從機裡執行從機 通過get name也可以拿到值
但是當我們主機出現意外 模擬:通過 docker stop 主機id
乾掉主機
通過docker exec -it 容器id bas進入從機redis容器裡面
redis-cli連線redis 通過info命令檢視其中一台從機已經生成為主機
配置完成
redis主從 哨兵模式
主從模式配置分為手動和配置檔案兩種方式進行配置,我現在有192.168.238.128 centos1 192.168.238.131 centos3 192.168.238.132 centos4 幾台機器,只是配置檔案的配置方式是降手動配置的命令放在配置檔案中而已,本質是一致的。下面將對配置檔案...
spring 改造redis哨兵模式
哨兵模式配置 redis.mastername sentinel 10.0.30.149 6380 redis.sentinel.host1 10.0.30.149 redis.sentinel.port1 6381 redis.sentinel.host2 10.0.30.149 redis.se...
Redis的Sentinel(哨兵)模式
首先,我先說下我對於sentinel模式的理解 我覺得就是redis的主從複製的高可用解決方案,什麼意思呢?就是當主伺服器掛了,不再用人手工操作的方式切換主從伺服器,sentinel伺服器會自動的檢測出掛了的主伺服器,並且自動完成主從伺服器的切換。同樣的,因為書中講到了大量的實現細節,我覺得不用記錄...