<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
本文以docker-compose 搭建高可用Redis 主從、哨兵叢集為例子
關於redis主從,哨兵叢集原理參見:Redis 單機安裝/ 哨兵模式叢集安裝
docker pull redis:6.2.7
cd /opt/docker/redis vi docker-compose.yml
docker-compose.yml的內容如下
version: '3' services: master: image: redis:6.2.7 ## 映象 container_name: redis-master command: redis-server /etc/redis/redis.conf --requirepass 123456 --masterauth 123456 volumes: - /opt/docker/redis/data/redis_data1:/data - /opt/docker/redis/conf/redis1.conf:/etc/redis/redis.conf network_mode: "host" slave1: image: redis:6.2.7 ## 映象 container_name: redis-slave-1 volumes: - /opt/docker/redis/data/redis_data2:/data - /opt/docker/redis/conf/redis2.conf:/etc/redis/redis.conf command: redis-server /etc/redis/redis.conf --slaveof redis-master 6379 --requirepass 123456 --masterauth 123456 depends_on: - master network_mode: "host" slave2: image: redis:6.2.7 ## 映象 container_name: redis-slave-2 volumes: - /opt/docker/redis/data/redis_data3:/data - /opt/docker/redis/conf/redis3.conf:/etc/redis/redis.conf command: redis-server /etc/redis/redis.conf --slaveof redis-master 6379 --requirepass 123456 --masterauth 123456 depends_on: - master network_mode: "host" sentinel1: image: redis:6.2.7 ## 映象 container_name: redis-sentinel-1 command: redis-sentinel /usr/local/etc/redis/sentinel.conf volumes: - /opt/docker/redis/conf/sentinel1.conf:/usr/local/etc/redis/sentinel.conf network_mode: "host" depends_on: - master - slave1 - slave2 sentinel2: image: redis:6.2.7 ## 映象 container_name: redis-sentinel-2 command: redis-sentinel /usr/local/etc/redis/sentinel.conf volumes: - /opt/docker/redis/conf/sentinel2.conf:/usr/local/etc/redis/sentinel.conf network_mode: "host" depends_on: - master - slave1 - slave2 sentinel3: image: redis:6.2.7 ## 映象 container_name: redis-sentinel-3 command: redis-sentinel /usr/local/etc/redis/sentinel.conf volumes: - /opt/docker/redis/conf/sentinel3.conf:/usr/local/etc/redis/sentinel.conf network_mode: "host" depends_on: - master - slave1 - slave2
檢視組態檔的目錄樹
cd /opt/docker/redis tree ./
結構如下
redis1.conf,redis2.conf,redis3.conf設定如下
#redis1.conf bind 0.0.0.0 port 6379 protected-mode no slave-read-only no #redis2.conf bind 0.0.0.0 port 6380 protected-mode no slave-read-only no #redis3.conf bind 0.0.0.0 port 6381 protected-mode no slave-read-only no
sentinel1.conf,sentinel1.conf,sentinel1.conf設定:
#sentinel1.conf port 26379 dir /tmp sentinel monitor mymaster 192.168.18.131 6379 2 sentinel auth-pass mymaster 123456 sentinel down-after-milliseconds mymaster 30000 sentinel parallel-syncs mymaster 1 sentinel failover-timeout mymaster 10000 sentinel deny-scripts-reconfig yes #sentinel2.conf port 26380 dir /tmp sentinel monitor mymaster 192.168.18.131 6379 2 sentinel auth-pass mymaster 123456 sentinel down-after-milliseconds mymaster 30000 sentinel parallel-syncs mymaster 1 sentinel failover-timeout mymaster 10000 sentinel deny-scripts-reconfig yes #sentinel3.conf port 26381 dir /tmp sentinel monitor mymaster 192.168.18.131 6379 2 sentinel auth-pass mymaster 123456 sentinel down-after-milliseconds mymaster 30000 sentinel parallel-syncs mymaster 1 sentinel failover-timeout mymaster 10000 sentinel deny-scripts-reconfig yes
說明:
【sentinel monitor mymaster 192.168.18.131 6379 2】192.168.18.131為伺服器的IP地址,6379為redis master的埠號
【sentinel auth-pass mymaster 123456 】設定主節點的密碼
【sentinel down-after-milliseconds mymaster 30000】表示在一段時間範圍內sentinel向master傳送的心跳PING沒有回覆則認為master不可用了。
【sentinel parallel-syncs mymaster 1】的parallel-syncs表示設定在故障轉移之後,同時可以重新設定使用新master的slave的數量。數位越低,更多的時間將會用故障轉移完成,但是如果slaves設定為服務舊資料,你可能不希望所有的slave同時重新同步master。因為主從複製對於slave是非阻塞的,當停止從master載入批次資料時有一個片刻延遲。通過設定選項為1,確信每次只有一個slave是不可到達的。
【sentinel failover-timeout mymaster 10000 】表示10秒內mymaster還沒活過來,則認為master宕機了。
redis_data1, redis_data2,redis_data3為空資料夾,用於存放redis資料檔案
docker-compose up #或者,後臺啟動 docker-compose up -d
docker exec -it 主節點容器id或者容器名稱 bash redis-cli -p 6379 info replication
到此這篇關於docker搭建redis主從哨兵叢集的實現步驟的文章就介紹到這了,更多相關docker redis主從哨兵叢集內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45