您好,登錄后才能下訂單哦!
這篇“docker怎么部署zookeeper集群”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“docker怎么部署zookeeper集群”文章吧。
下面這個是官方給出的docker-compose的部署方案(這個是都在一臺主機上部署的):
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
我們從上面的分析,最主要的就是ZOO_MY_ID和ZOO_SERVERS
ZOO_MY_ID
:節點ID
ZOO_SERVERS
:集群節點地址,多個節點之間使用空格隔開
由此可以看出如果不在一個主機上,那么這幾個容器之間就得是想通的,為了使其想通,我們運用了Macvlan網絡
macvlan本身是linxu kernel的模塊,本質上是一種網卡虛擬化技術。
其功能是允許在同一個物理網卡上虛擬出多個網卡,通過不同的MAC地址在數據鏈路層進行網絡數據的轉發,一塊網卡上配置多個 MAC 地址(即多個 interface),每個interface可以配置自己的IP,Docker的macvlan網絡實際上就是使用了Linux提供的macvlan驅動.在物理網絡看來,每張虛擬網卡都是一個單獨的接口。
編號 | 主機IP | 容器IP |
---|---|---|
主機1 | 192.168.1.187 | 10.0.3.71 |
主機2 | 192.168.1.188 | 10.0.3.72 |
主機3 | 192.168.1.189 | 10.0.3.73 |
主機1(主機2和主機3也做如下類似操作):
docker network create -d macvlan --subnet=10.0.3.0/24 --gateway=10.0.3.1 -o parent=em2 zookeeper-kafka-net
subnet
這里結尾最好是/24,代表255.255.255.0,如果是/16代表255.255.0.0,16這種據說在設置了iptable的情況下會出問題
parent
后是網卡名稱192.168.1.187的網卡名稱,可通過ipconfig查找
最后的zookeeper-kafka-net是你創建的macvlan網絡名稱,可隨意寫
主機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
主機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
主機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
以上就是關于“docker怎么部署zookeeper集群”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。