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

docker部署zookeeper集群方式(單主機(jī)、多主機(jī))

 更新時(shí)間:2023年04月12日 16:54:28   作者:軒轅龍兒  
這篇文章主要介紹了docker部署zookeeper集群方式(單主機(jī)、多主機(jī)),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

1、一臺(tái)主機(jī)上部署zookeeper集群

下面這個(gè)是官方給出的docker-compose的部署方案(這個(gè)是都在一臺(tái)主機(jī)上部署的):

version: '3'
services:
    zoo1:
        image: zookeeper
        restart: always
        ports:
            - 2182:2181
        environment:
            ZOO_MY_ID: 1
            ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
    zoo2:
        image: zookeeper
        restart: always
        ports:
            - 2183:2181
        environment:
            ZOO_MY_ID: 2
            ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
    zoo3:
        image: zookeeper
        restart: always
        ports:
            - 2184:2181
        environment:
            ZOO_MY_ID: 3
            ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181

2、一臺(tái)主機(jī)部署zookeeper集群分析

我們從上面的分析,最主要的就是ZOO_MY_ID和ZOO_SERVERS(更多環(huán)境變量配置參考:https://hub.docker.com/_/zookeeper

  • ZOO_MY_ID:節(jié)點(diǎn)ID
  • ZOO_SERVERS:集群節(jié)點(diǎn)地址,多個(gè)節(jié)點(diǎn)之間使用空格隔開

由此可以看出如果不在一個(gè)主機(jī)上,那么這幾個(gè)容器之間就得是想通的,為了使其想通,我們運(yùn)用了Macvlan網(wǎng)絡(luò)

3、Macvlan網(wǎng)絡(luò)

macvlan本身是linxu kernel的模塊,本質(zhì)上是一種網(wǎng)卡虛擬化技術(shù)。

其功能是允許在同一個(gè)物理網(wǎng)卡上虛擬出多個(gè)網(wǎng)卡,通過不同的MAC地址在數(shù)據(jù)鏈路層進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)的轉(zhuǎn)發(fā),一塊網(wǎng)卡上配置多個(gè) MAC 地址(即多個(gè) interface),每個(gè)interface可以配置自己的IP,Docker的macvlan網(wǎng)絡(luò)實(shí)際上就是使用了Linux提供的macvlan驅(qū)動(dòng).在物理網(wǎng)絡(luò)看來,每張?zhí)摂M網(wǎng)卡都是一個(gè)單獨(dú)的接口。

4、跨主機(jī)環(huán)境準(zhǔn)備

編號(hào)主機(jī)IP容器IP
主機(jī)1192.168.1.18710.0.3.71
主機(jī)2192.168.1.18810.0.3.72
主機(jī)3192.168.1.18910.0.3.73

5、創(chuàng)建macvlan網(wǎng)絡(luò)

主機(jī)1(主機(jī)2和主機(jī)3也做如下類似操作):

docker network create -d macvlan --subnet=10.0.3.0/24 --gateway=10.0.3.1 -o parent=em2 zookeeper-kafka-net
  • subnet這里結(jié)尾最好是/24,代表255.255.255.0,如果是/16代表255.255.0.0,16這種據(jù)說在設(shè)置了iptable的情況下會(huì)出問題
  • parent后是網(wǎng)卡名稱192.168.1.187的網(wǎng)卡名稱,可通過ipconfig查找

最后的zookeeper-kafka-net是你創(chuàng)建的macvlan網(wǎng)絡(luò)名稱,可隨意寫

6、docker-compose.yml文件

主機(jī)1:

version: "3"
services:
? zookeeper1:
? ? container_name: zookeeper1
? ? image: zookeeper:3.6.2
? ? networks:
? ? ? zookeeper-kafka-net:
? ? ? ? ipv4_address: 10.0.3.71
? ? ports:
? ? ? - "22181:2181"
? ? ? - "22888:2888"
? ? ? - "23888:3888"
? ? environment:
? ? ? ZOO_MY_ID: 1
? ? ? ZOO_SERVERS: server.1=10.0.3.71:2888:3888;2181 server.2=10.0.3.72:2888:3888;2181 server.3=10.0.3.73:2888:3888;2181
? ? restart: always
networks:
? zookeeper-kafka-net:
? ? external:
? ? ? name: zookeeper-kafka-net

主機(jī)2:

version: "3"
services:
? zookeeper2:
? ? container_name: zookeeper2
? ? image: zookeeper:3.6.2
? ? networks:
? ? ? zookeeper-kafka-net:
? ? ? ? ipv4_address: 10.0.3.72
? ? ports:
? ? ? - "22181:2181"
? ? ? - "22888:2888"
? ? ? - "23888:3888"
? ? environment:
? ? ? ZOO_MY_ID: 2
? ? ? ZOO_SERVERS: server.1=10.0.3.71:2888:3888;2181 server.2=10.0.3.72:2888:3888;2181 server.3=10.0.3.73:2888:3888;2181
? ? restart: always
networks:
? zookeeper-kafka-net:
? ? external:
? ? ? name: zookeeper-kafka-net

主機(jī)3:

version: "3"
services:
? zookeeper3:
? ? container_name: zookeeper3
? ? image: zookeeper:3.6.2
? ? networks:
? ? ? zookeeper-kafka-net:
? ? ? ? ipv4_address: 10.0.3.73
? ? ports:
? ? ? - "22181:2181"
? ? ? - "22888:2888"
? ? ? - "23888:3888"
? ? environment:
? ? ? ZOO_MY_ID: 3
? ? ? ZOO_SERVERS: server.1=10.0.3.71:2888:3888;2181 server.2=10.0.3.72:2888:3888;2181 server.3=10.0.3.73:2888:3888;2181
? ? restart: always
networks:
? zookeeper-kafka-net:
? ? external:
? ? ? name: zookeeper-kafka-net

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。 

相關(guān)文章

  • 在docker容器中使用非root用戶執(zhí)行腳本操作

    在docker容器中使用非root用戶執(zhí)行腳本操作

    這篇文章主要介紹了在docker容器中使用非root用戶執(zhí)行腳本操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • MinIO存儲(chǔ)在docker中安裝及其使用方式

    MinIO存儲(chǔ)在docker中安裝及其使用方式

    這篇文章主要介紹了MinIO存儲(chǔ)在docker中安裝及其使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Docker設(shè)置日志滾動(dòng)的解決方案

    Docker設(shè)置日志滾動(dòng)的解決方案

    Docker容器默認(rèn)將日志寫入同一文件,可能導(dǎo)致磁盤滿,解決方案包括修改全局docker.service配置或針對(duì)特定容器修改hostconfig.json,下面給大家介紹Docker設(shè)置日志滾動(dòng)的解決方案,感興趣的朋友跟隨小編一起看看吧
    2024-10-10
  • Docker容器搭建Kafka集群的詳細(xì)過程

    Docker容器搭建Kafka集群的詳細(xì)過程

    這篇文章主要介紹了Docker容器?Kafka集群的搭建,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • 詳解使用?docker?compose?部署?golang?的?Athens?私有代理問題

    詳解使用?docker?compose?部署?golang?的?Athens?私有代理問題

    這篇文章主要介紹了使用?docker-compose?部署?golang?的?Athens?私有代理,幫助大家快速學(xué)習(xí)athens 如何構(gòu)建私有代理,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • docker部署minio并使用springboot連接的操作方法

    docker部署minio并使用springboot連接的操作方法

    這篇文章主要介紹了docker部署minio并使用springboot連接的操作方法,本文以minio為例結(jié)合實(shí)例代碼給大家詳細(xì)講解,需要的朋友可以參考下
    2023-11-11
  • docker部署redis報(bào)錯(cuò)內(nèi)存分配過度解決辦法

    docker部署redis報(bào)錯(cuò)內(nèi)存分配過度解決辦法

    Docker很適合用于測(cè)試發(fā)布,將Docker封裝后可以直接提供給測(cè)試人員進(jìn)行運(yùn)行,不再需要測(cè)試人員與運(yùn)維、開發(fā)進(jìn)行配合,進(jìn)行環(huán)境搭建與部署,這篇文章主要給大家介紹了關(guān)于docker部署redis報(bào)錯(cuò)內(nèi)存分配過度的解決辦法,需要的朋友可以參考下
    2023-11-11
  • docker容器存放目錄磁盤空間滿了的解決

    docker容器存放目錄磁盤空間滿了的解決

    這篇文章主要介紹了docker容器存放目錄磁盤空間滿了的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Docker如何修改容器已經(jīng)映射的端口

    Docker如何修改容器已經(jīng)映射的端口

    在項(xiàng)目中我們一般通過命令啟動(dòng)一個(gè)容器的時(shí)候,通常會(huì)通過命令指定容器與物理機(jī)網(wǎng)絡(luò)端口的映射,這篇文章主要給大家介紹了關(guān)于Docker如何修改容器已經(jīng)映射的端口的相關(guān)資料,需要的朋友可以參考下
    2023-12-12
  • docker 容器上編譯 go 程序提示找不到文件問題

    docker 容器上編譯 go 程序提示找不到文件問題

    這篇文章主要介紹了docker 容器上編譯 go 程序無法運(yùn)行提示找不到文件問題,解決方法也很簡單,感興趣的朋友跟隨腳本之家小編一起看看吧
    2018-05-05

最新評(píng)論