最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Docker搭建Redis主從集群的實(shí)現(xiàn)

 更新時(shí)間:2021年05月14日 12:07:47   作者:niceyoo  
本文基于Docker+Redis5.0.5版本,通過cluster方式創(chuàng)建一個(gè)6個(gè)redis實(shí)例的主從集群,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

最近陸陸續(xù)續(xù)有不少園友加我好友咨詢 redis 集群搭建的問題,我覺得一定是之前寫的這篇 《基于Docker的Redis集群搭建》 文章有問題了,所以我花了幾分鐘瀏覽之前的文章總結(jié)了下面幾個(gè)問題:

redis 數(shù)量太少,只創(chuàng)建了 3 個(gè)實(shí)例;由于只有 3 個(gè)實(shí)例,所以全部只能是主節(jié)點(diǎn),無法體現(xiàn)集群主從關(guān)系;如何搭建主從集群?如何分配從節(jié)點(diǎn)?

基于之前的文章,我想快速的過一下這幾個(gè)問題,本文基于 Docker + Redis 5.0.5 版本,通過 cluster 方式創(chuàng)建一個(gè) 6 個(gè) redis 實(shí)例的主從集群,當(dāng)然文章會(huì)指出相應(yīng)的參數(shù)說明,這樣即便是創(chuàng)建 9 個(gè)實(shí)例的集群方式也是一樣的。

1、拉取 Redis 鏡像

基于 Redis:5.0.5 版本,執(zhí)行如下指令:

docker pull redis:5.0.5

2、創(chuàng)建 6 個(gè) Redis 容器

創(chuàng)建 6 個(gè)Redis 容器:

  • redis-node1:6379
  • redis-node2:6380
  • redis-node3:6381
  • redis-node4:6382
  • redis-node5:6383
  • redis-node6:6384

執(zhí)行命令如下:

docker create --name redis-node1 --net host -v /data/redis-data/node1:/data redis:5.0.5 --cluster-enabled yes --cluster-config-file nodes-node-1.conf --port 6379

docker create --name redis-node2 --net host -v /data/redis-data/node2:/data redis:5.0.5 --cluster-enabled yes --cluster-config-file nodes-node-2.conf --port 6380

docker create --name redis-node3 --net host -v /data/redis-data/node3:/data redis:5.0.5 --cluster-enabled yes --cluster-config-file nodes-node-3.conf --port 6381

docker create --name redis-node4 --net host -v /data/redis-data/node4:/data redis:5.0.5 --cluster-enabled yes --cluster-config-file nodes-node-4.conf --port 6382

docker create --name redis-node5 --net host -v /data/redis-data/node5:/data redis:5.0.5 --cluster-enabled yes --cluster-config-file nodes-node-5.conf --port 6383

docker create --name redis-node6 --net host -v /data/redis-data/node6:/data redis:5.0.5 --cluster-enabled yes --cluster-config-file nodes-node-6.conf --port 6384

部分參數(shù)解釋:

  • --cluster-enabled:是否啟動(dòng)集群,選值:yes 、no
  • --cluster-config-file 配置文件.conf :指定節(jié)點(diǎn)信息,自動(dòng)生成
  • --cluster-node-timeout 毫秒值: 配置節(jié)點(diǎn)連接超時(shí)時(shí)間
  • --appendonly:是否開啟持久化,選值:yes、no

執(zhí)行命令截圖:

3、啟動(dòng) Redis 容器

執(zhí)行命令如下:

docker start redis-node1 redis-node2 redis-node3 redis-node4 redis-node5 redis-node6

啟動(dòng)截圖如下:

4、組建 Redis 集群

進(jìn)入任意一個(gè) Redis 實(shí)例:

# 這里以 redis-node1 實(shí)例為例
docker exec -it redis-node1 /bin/bash

執(zhí)行組件集群的命令:

# 組建集群,10.211.55.4為當(dāng)前物理機(jī)的ip地址
redis-cli --cluster create 10.211.55.4:6379 10.211.55.4:6380 10.211.55.4:6381 10.211.55.4:6382 10.211.55.4:6383 10.211.55.4:6384 --cluster-replicas 1

執(zhí)行命令截圖如下:

創(chuàng)建成功后,通過 redis-cli 查看一下集群節(jié)點(diǎn)信息:

root@CentOS7:/data# redis-cli
127.0.0.1:6379> cluster nodes

執(zhí)行命令截圖如下:

5、關(guān)于Redis集群搭建

我們?cè)倩氐絼?chuàng)建集群的命令上:

redis-cli --cluster create 10.211.55.4:6379~6384 --cluster-replicas 1

大家著重看這個(gè)參數(shù) --cluster-replicas 1,參數(shù)后面的數(shù)字表示的是主從比例,比如這里的 1 表示的是主從比例是 1:1,什么概念呢?

也就是 1 個(gè)主節(jié)點(diǎn)對(duì)應(yīng)幾個(gè)從節(jié)點(diǎn),現(xiàn)有 6 個(gè)實(shí)例,所以主從分配就是 3 個(gè) master 主節(jié)點(diǎn),3 個(gè) slave 從節(jié)點(diǎn)。

主節(jié)點(diǎn)最少3個(gè),3個(gè)才能保證集群的健壯性。

如果 --cluster-replicas 2 呢?

那么主從比例就是 1:2,也就是 1 個(gè)主節(jié)點(diǎn)對(duì)于應(yīng) 2 個(gè)從節(jié)點(diǎn)。

即:3(master) + 6(slave) = 9個(gè) Redis 實(shí)例。

如果不足 9個(gè) Redis 實(shí)例,但是參數(shù)指定為 2 會(huì)怎么樣?

報(bào)錯(cuò)信息如下:

提示已經(jīng)很清楚了,Redis集群至少需要3個(gè)主節(jié)點(diǎn)。那么從節(jié)點(diǎn)就需要有6個(gè),所以最后說:至少需要9個(gè)節(jié)點(diǎn)。

好的,至少3個(gè)主節(jié)點(diǎn)的要求我不繼續(xù)剛了,但是我想4個(gè)主節(jié)點(diǎn),2個(gè)從節(jié)點(diǎn),這總該可以了吧?

4個(gè)主節(jié)點(diǎn)滿足你:

# 進(jìn)入一個(gè)啟動(dòng)的 reids 實(shí)例,這里以 redis-node1 實(shí)例為例
docker exec -it redis-node1 /bin/bash

執(zhí)行組建集群的命令:

redis-cli --cluster create 10.211.55.4:6379 10.211.55.4:6380 10.211.55.4:6381 10.211.55.4:6382  --cluster-replicas 0

指定4個(gè)沒有從節(jié)點(diǎn)的主節(jié)點(diǎn),這樣你就有4個(gè)主節(jié)點(diǎn)了:

剩下的兩個(gè)從節(jié)點(diǎn)怎么辦呢?手動(dòng)添加。

怎么添加?手動(dòng)添加!

看到這些 master 節(jié)點(diǎn)的 id 了嗎,只需要把 slave 指定給他們就可以了。

繼續(xù)執(zhí)行如下命令:

redis-cli --cluster add-node 10.211.55.4:6383 10.211.55.4:6379  --cluster-slave --cluster-master-id b0c32b1dae9e7b7f7f4b74354c59bdfcaa46f30a

redis-cli --cluster add-node 10.211.55.4:6384 10.211.55.4:6379  --cluster-slave --cluster-master-id 111de8bed5772585cef5280c4b5225ecb15a582e

將兩個(gè) Redis 實(shí)例塞給其他主節(jié)點(diǎn)了:

最后我們進(jìn)入 redis-cli,通過 cluster nodes 查看一下節(jié)點(diǎn)信息:

到此這篇關(guān)于基于Docker搭建Redis主從集群的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Docker Redis主從集群內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • docker離線鏡像文件選擇導(dǎo)入腳本方式

    docker離線鏡像文件選擇導(dǎo)入腳本方式

    本文檔提供了一個(gè)腳本,用于自動(dòng)掃描、顯示和導(dǎo)入`/data/k8s-package`目錄下的Docker離線鏡像文件,用戶可以選擇單個(gè)或批量導(dǎo)入鏡像,并在每次加載后進(jìn)行確認(rèn),腳本運(yùn)行后,會(huì)顯示加載結(jié)果,并最終列出當(dāng)前系統(tǒng)中的所有Docker鏡像
    2025-10-10
  • ubuntu17.10安裝docker-ce的方法

    ubuntu17.10安裝docker-ce的方法

    本篇文章主要介紹了ubuntu 17.10 安裝docker-ce的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-03-03
  • docker update命令動(dòng)態(tài)更新容器配置

    docker update命令動(dòng)態(tài)更新容器配置

    Docker的docker update命令提供了一種在不停止容器的情況下動(dòng)態(tài)調(diào)整其資源配置的能力,從而優(yōu)化性能或滿足特定需求,本文詳細(xì)介紹了docker update命令的使用方法、常用選項(xiàng)如CPU和內(nèi)存限制,感興趣的可以了解一下
    2024-10-10
  • Docker安裝Redis容器的實(shí)現(xiàn)步驟

    Docker安裝Redis容器的實(shí)現(xiàn)步驟

    本文主要介紹了Docker安裝Redis容器的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 詳解使用docker搭建hadoop分布式集群

    詳解使用docker搭建hadoop分布式集群

    本篇文章主要介紹了詳解使用docker搭建hadoop分布式集群,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-02-02
  • Docker部署Rabbitmq容器實(shí)現(xiàn)過程解析

    Docker部署Rabbitmq容器實(shí)現(xiàn)過程解析

    這篇文章主要介紹了Docker部署Rabbitmq容器實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Docker存儲(chǔ)目錄問題以及如何修改Docker默認(rèn)存儲(chǔ)位置

    Docker存儲(chǔ)目錄問題以及如何修改Docker默認(rèn)存儲(chǔ)位置

    在Docker中,默認(rèn)情況下數(shù)據(jù)存儲(chǔ)路徑為/var/lib/docker,隨著容器和鏡像數(shù)量的增加,這可能會(huì)占用大量磁盤空間,這篇文章主要給大家介紹了關(guān)于Docker存儲(chǔ)目錄問題以及如何修改Docker默認(rèn)存儲(chǔ)位置的相關(guān)資料,需要的朋友可以參考下
    2024-08-08
  • Docker 容器操作指令匯總詳解

    Docker 容器操作指令匯總詳解

    這篇文章主要介紹了Docker 容器操作指令匯總詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Docker Hub運(yùn)行原理及實(shí)現(xiàn)過程解析

    Docker Hub運(yùn)行原理及實(shí)現(xiàn)過程解析

    這篇文章主要介紹了Docker Hub運(yùn)行原理及實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Linux下保存Docker鏡像文件至本地及啟動(dòng)實(shí)現(xiàn)方式

    Linux下保存Docker鏡像文件至本地及啟動(dòng)實(shí)現(xiàn)方式

    文章介紹了如何在Linux環(huán)境下將Docker鏡像保存到本地,并將其導(dǎo)入到其他Docker主機(jī),主要內(nèi)容包括保存鏡像為`.tar`文件、驗(yàn)證保存的文件、以及如何在另一臺(tái)Docker主機(jī)上導(dǎo)入該鏡像
    2025-12-12

最新評(píng)論

白山市| 莱芜市| 柳河县| 美姑县| 蓬莱市| 恩施市| 陇南市| 泸水县| 旬阳县| 通辽市| 阿鲁科尔沁旗| 阿拉善左旗| 出国| 玉龙| 塘沽区| 山阴县| 连南| 延安市| 新竹县| 永平县| 河池市| 广丰县| 建平县| 门源| 安顺市| 禄丰县| 临湘市| 乡宁县| 共和县| 辰溪县| 吉安县| 叶城县| 延津县| 屯门区| 汤阴县| 门头沟区| 亚东县| 清流县| 紫云| 南昌市| 康乐县|