欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

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

1、拉取 Redis 鏡像

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

docker pull redis:5.0.5

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

創(chuàng)建 6 個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:是否啟動集群,選值:yes 、no
  • --cluster-config-file 配置文件.conf :指定節(jié)點信息,自動生成
  • --cluster-node-timeout 毫秒值: 配置節(jié)點連接超時時間
  • --appendonly:是否開啟持久化,選值:yes、no

執(zhí)行命令截圖:

3、啟動 Redis 容器

執(zhí)行命令如下:

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

啟動截圖如下:

4、組建 Redis 集群

進入任意一個 Redis 實例:

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

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

# 組建集群,10.211.55.4為當前物理機的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é)點信息:

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

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

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

我們再回到創(chuàng)建集群的命令上:

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

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

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

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

如果 --cluster-replicas 2 呢?

那么主從比例就是 1:2,也就是 1 個主節(jié)點對于應(yīng) 2 個從節(jié)點。

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

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

報錯信息如下:

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

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

4個主節(jié)點滿足你:

# 進入一個啟動的 reids 實例,這里以 redis-node1 實例為例
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個沒有從節(jié)點的主節(jié)點,這樣你就有4個主節(jié)點了:

剩下的兩個從節(jié)點怎么辦呢?手動添加。

怎么添加?手動添加!

看到這些 master 節(jié)點的 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

將兩個 Redis 實例塞給其他主節(jié)點了:

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

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

相關(guān)文章

  • ubuntu20.04 LTS安裝docker的方法步驟

    ubuntu20.04 LTS安裝docker的方法步驟

    這篇文章主要介紹了ubuntu20.04 LTS安裝docker的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-05-05
  • 解決docker報錯Encountered errors while bringing up the project實測有效

    解決docker報錯Encountered errors while bringing&n

    這篇文章主要介紹了解決docker報錯Encountered errors while bringing up the project實測有效!具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • docker部署kafka的方法步驟

    docker部署kafka的方法步驟

    本文主要介紹了docker部署kafka的方法步驟,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • Linux上使用docker啟動redis并遠程訪問的實現(xiàn)

    Linux上使用docker啟動redis并遠程訪問的實現(xiàn)

    這篇文章主要介紹了Linux上使用docker啟動redis并遠程訪問的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • docker中使用GPU+rocksdb的詳細教程

    docker中使用GPU+rocksdb的詳細教程

    這篇文章主要介紹了docker中使用GPU+rocksdb,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-10-10
  • Windows遠程連接Docker服務(wù)的操作方法

    Windows遠程連接Docker服務(wù)的操作方法

    本文介紹了在Windows系統(tǒng)下如何通過配置遠程連接到Docker服務(wù)端,實現(xiàn)Docker客戶端遠程訪問和管理Docker容器,本文給大家介紹的非常詳細,感興趣的朋友一起看看吧
    2024-11-11
  • Docker 啟動Redis 并設(shè)置密碼的操作

    Docker 啟動Redis 并設(shè)置密碼的操作

    這篇文章主要介紹了Docker 啟動Redis 并設(shè)置密碼的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • 詳解Docker commit的使用

    詳解Docker commit的使用

    這篇文章主要介紹了Docker commit使用的相關(guān)資料,幫助大家更好的理解和使用docker容器,感興趣的朋友可以了解下
    2020-09-09
  • Docker實踐之搭建wordpress的方法

    Docker實踐之搭建wordpress的方法

    這篇文章主要介紹了Docker實踐之搭建wordpress的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • 詳解Docker容器運行多條命令(supervisor)

    詳解Docker容器運行多條命令(supervisor)

    本篇文章主要介紹了詳解Docker容器運行多條命令(supervisor),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04

最新評論