redis 哨兵模式

2021-10-10 19:55:45 字數 2717 閱讀 5832

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伺服器會自動的檢測出掛了的主伺服器,並且自動完成主從伺服器的切換。同樣的,因為書中講到了大量的實現細節,我覺得不用記錄...