亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Docker配置Redis集群及主從擴容與縮容的操作方法

 更新時間:2024年06月13日 12:12:07   作者:米蘭的小鐵匠~  
這篇文章主要介紹了Docker配置Redis集群及主從擴容與縮容的操作方法,本文給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧

基礎鏡像拉取

docker run -p 6379:6379 -d redis:6.0.8

配置文件以及數(shù)據(jù)卷掛載

# 開啟密碼驗證(可選)
requirepass 1234
# 允許redis外地連接,需要注釋掉綁定的IP
# bind 127.0.0.1
# 關閉保護模式(可選)
protected-mode no
# 注釋掉daemonize yes,或者配置成 daemonize no。因為該配置和 docker run中的 -d 參數(shù)沖突,會導致容器一直啟動失敗
daemonize no
# 開啟redis數(shù)據(jù)持久化, (可選)
appendonly yes

進行數(shù)據(jù)卷掛載

docker run -d -p 6379:6379 --name redis --privileged=true \
           -v /app/redis/redis.conf:/etc/redis/redis.conf \
           -v /app/redis/data:/data \
           redis:6.0.8 \
           redis-server /etc/redis/redis.conf

三主三從配置

# 啟動第1臺節(jié)點
docker run -d --name redis-node-1 --net host --privileged=true -v /app/redis-cluster/share/redis-node-1:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6381
# 啟動第2臺節(jié)點
docker run -d --name redis-node-2 --net host --privileged=true -v /app/redis-cluster/share/redis-node-2:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6382
# 啟動第3臺節(jié)點
docker run -d --name redis-node-3 --net host --privileged=true -v /app/redis-cluster/share/redis-node-3:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6383
# 啟動第4臺節(jié)點
docker run -d --name redis-node-4 --net host --privileged=true -v /app/redis-cluster/share/redis-node-4:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6384
# 啟動第5臺節(jié)點
docker run -d --name redis-node-5 --net host --privileged=true -v /app/redis-cluster/share/redis-node-5:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6385
# 啟動第6臺節(jié)點
docker run -d --name redis-node-6 --net host --privileged=true -v /app/redis-cluster/share/redis-node-6:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6386

通過docker ps可以看到結點已經(jīng)運行成功 

我們通過ifconfig查看本機的ip地址,后續(xù)操作會用到

進入到node1中

docker exec -it redis-node-1 /bin/bash

配置主從關系:

redis-cli --cluster create ip:6381 ip:6382 ip:6383 ip:6384 ip:6385 ip:6386 --clu
ster-replicas 1

查看集群狀態(tài):cluster nodes 

每次配置的主從關系都不一致,所以需要查看信息 ,本次的主從對應關系對應如下圖所示:

 Redis集群模式配置

進入容器節(jié)點1:

docker exec -it redis-node-1 /bin/bash

此時配置set k1 v1可能會報錯,因為k1超過了哈希槽的位置 ,無法進行匹配

我們以集群模式進入節(jié)點1:

redis-cli -p 6381 -c 

此時會將哈希槽進行重定向,哈希槽為12706,重定向到6383(即節(jié)點3,哈希槽[10923, 16383]) 

主從擴容

配置第七,第八臺redis服務

docker run -d --name redis-node-7 --net host --privileged=true -v /app/redis-cluster/share/redis-node-7:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6387
docker run -d --name redis-node-8 --net host --privileged=true -v /app/redis-cluster/share/redis-node-8:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6388

進入第七臺容器內部

docker exec -it redis-node-7 /bin/bash 

將第七臺容器加入集群

redis-cli --cluster add-node ip:6387 ip:6381

檢查集群配置信息,此時加入集群成功,但哈希槽并沒有重新分配

重新分配哈希槽:

redis-cli --cluster reshard ip:6381 

我們現(xiàn)在有4臺主機,所以16384/4=4096,每臺機器分配到4096個槽位,然后會提示將哪些節(jié)點分配出去,此時輸入all,并且輸入yes

 此時原先的哈希槽位發(fā)生了變化,有些槽位中已經(jīng)存儲了key,完全的重新洗牌重新分配的成本過高,所以redis選擇從前3個節(jié)點中勻出來一部分給node7

為主節(jié)點6387分配從節(jié)點6388:

redis-cli --cluster add-node 192.168.xxx.xxx:6388 192.168.xxx.xxx:6387 --cluster-slave --cluster-master-id (6387的id)

主從縮容

現(xiàn)將從機6388移除

1. 進入容器節(jié)點1

docker exec -it redis-node-1 /bin/bash

2. 檢查容器狀態(tài),獲取6388的節(jié)點編號,并移除

redis-cli --cluster del-node ip:6388 6388節(jié)點編號

3. 對集群重新分配槽位

redis-cli --cluster reshard ip:6381 

我們將node7的槽位全部分配出去,所以輸入4096,將他分配給node1,所以再次輸入node1的id,并且輸入node7的id,回車后輸入done 

此時槽位重新分配后,node7的槽位為0,我們可以將他刪除,否則會報錯

redis-cli --cluster del-node ip:6387 node7 id

到此這篇關于Docker配置Redis集群以及主從擴容與縮容的文章就介紹到這了,更多相關Docker配置Redis集群內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Docker默認網(wǎng)段的正確修改步驟

    Docker默認網(wǎng)段的正確修改步驟

    這篇文章主要給大家介紹了關于Docker默認網(wǎng)段修改的相關資料,文中通過示例代碼以及圖文介紹的非常詳細,對大家的學習或者使用Docker具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-03-03
  • MongoDB docker集群配置小結

    MongoDB docker集群配置小結

    本文主要介紹了MongoDB docker集群配置小結,主要包括如何配置MongoDB的三個節(jié)點,以及如何使用Docker Compose快速搭建集群,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • Docker基礎學習之數(shù)據(jù)管理

    Docker基礎學習之數(shù)據(jù)管理

    我們在使用Docker 的時候,會產(chǎn)生很多數(shù)據(jù),比如web服務器啊,數(shù)據(jù)庫之類的,有時我們還需要備份或復制這些數(shù)據(jù),這就需要涉及到Docker的數(shù)據(jù)管理了。這篇文章就給大家詳細的介紹Docker的數(shù)據(jù)管理,感興趣的朋友們可以參考借鑒,下面來一起看看吧。
    2016-10-10
  • 解決Docker x509 insecure registry的問題

    解決Docker x509 insecure registry的問題

    這篇文章主要介紹了解決Docker x509 insecure registry的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Docker使用Bind9實現(xiàn)域名解析的思路詳解

    Docker使用Bind9實現(xiàn)域名解析的思路詳解

    這篇文章主要介紹了DOCKER使用BIND9實現(xiàn)域名解析,主要包括刷新服務修改配置文件信息,實現(xiàn)思路也很簡單,本文給大家介紹的非常詳細對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-11-11
  • Docker容器實戰(zhàn)之鏡像與容器的工作原理

    Docker容器實戰(zhàn)之鏡像與容器的工作原理

    這篇文章主要介紹了Docker容器實戰(zhàn)之鏡像與容器,關于鏡像與容器的工作原理,下面文章將詳細介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-05-05
  • docker+daocloud實現(xiàn)前端項目自動構建部署

    docker+daocloud實現(xiàn)前端項目自動構建部署

    這篇文章主要介紹了docker+daocloud實現(xiàn)前端項目自動構建部署,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • 一步步詳解如何在Ubuntu?18.04上安裝Docker

    一步步詳解如何在Ubuntu?18.04上安裝Docker

    Docker是基于Go語言實現(xiàn)的云開源項目,下面這篇文章主要給大家介紹了關于如何在Ubuntu?18.04上安裝Docker的相關資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-06-06
  • Docker 鏡像加速訪問的幾種方法

    Docker 鏡像加速訪問的幾種方法

    本文介紹了DockerHub訪問速度慢或不穩(wěn)定時的替代方案,包括配置國內鏡像源、使用一鍵腳本拉取鏡像以及鏡像導出與導入,感興趣的可以了解一下
    2024-12-12
  • centos 下docker 安裝方法

    centos 下docker 安裝方法

    這篇文章主要介紹了centos 下docker 安裝方法,本文只介紹比較簡易的安裝方式,需要的朋友可以參考下
    2018-10-10

最新評論