Docker、Zookeeper、Kafka常用參數詳解

Docker、Zookeeper、Kafka常用參數詳解

傳陸編程

前言

乾貨,不囉嗦,直奔主題!

1、拉取Zookeeper鏡像

docker pull wurstmeister/zookeeper

註解:pull,從docker倉庫拉取一個鏡像。

後面的參數格式:鏡像名稱:版本。:版本,為可選參數。不寫的話,就是拉取默認版本latest。

2、拉取Kafka鏡像

docker pull wurstmeister/kafka

查看已下載的鏡像

docker images -a

註解:images,鏡像列表。

-a 或 --all,為可選參數。顯示所有鏡像,不加該參數,默認是隱藏過程鏡像的。

部署單點Zookeeper和單點Kafka,為後面的集群搭建做基礎

1、創建Zookeeper單點容器

Docker、Zookeeper、Kafka常用參數詳解

創建Zookeeper容器

註解:run,創建新容器,併為容器配置一些參數。

  • -t,在容器內部創建一個tty或者偽終端。
  • -i,允許主機終端按照容器內部的標準與其交互。
  • -d,後臺運行容器並打印容器名稱。
  • --name,容器名稱。
  • -p,端口映射,參數格式為:主機物理端口:容器內部端口。
  • 最後跟上的就是我們已經下載的鏡像。

2、創建Kafka單點容器

Docker、Zookeeper、Kafka常用參數詳解

創建Kafka容器

註解:

  • -e,配置容器環境變量。
  • --link,鏈接到另一個容器,參數格式為:目標容器名稱:在本容器內的別名。

這裡的環境變量設置,其實就是對即將創建的Kafka配置server.properties文件的初始化。

查看容器

docker ps -a

註解:ps,容器列表。

  • -a 或 --all,為可選參數。顯示所有容器,不加該參數,默認僅顯示運行中的容器。

3、測試

進入Kafka容器

Docker、Zookeeper、Kafka常用參數詳解

進入Kafka容器

註釋:exec,在運行中的容器中,執行命令。

  • 跟上容器名稱,也就是創建容器時 --name 參數定義的名稱。
  • 如果沒有定義,也可以用ID。
  • 再跟上要執行的命令。

消息生產和消息消費測試

Docker、Zookeeper、Kafka常用參數詳解

測試成功

部署Zookeeper集群和Kafka集群

注意:這裡沒有使用 docker-compose,全部是手動搭建的方式。這樣可以幫助我們熟悉使用docker,並瞭解Zookeeper和Kafka集群配置。

我們準備搭建3個Zookeeper節點和3個Kafka節點,集群不再適合使用link的方式進行容器間的通信。我們使用自定義網絡,然後把容器加入自定義網絡中。

1、創建自定義網絡

查看網絡

docker network ls

註釋:network,管理網絡。

  • ls,網絡列表

創建網絡

Docker、Zookeeper、Kafka常用參數詳解

創建自定義網絡

再次查看網絡

Docker、Zookeeper、Kafka常用參數詳解

網絡創建成功

2、創建Zookeeper集群

1、創建Zookeeper節點1

Docker、Zookeeper、Kafka常用參數詳解

創建Zookeeper節點1

註釋:

-v,將宿守主機文件掛載到容器內部,參數格式:主機文件或目錄:容器內文件或目錄。當然了,既然是把主機文件掛載到容器內部,首先要先創建好主機的這些文件或目錄,比如最重要的 zoo.cfg 文件,還有myid文件。myid服務器節點編號。

zoo.cfg中的集群核心配置如下:

#server.服務器節點編號=主機名:心跳端口:選舉端口)

server.1=zookeeper1:2888:3888

server.2=zookeeper2:2888:3888

server.3=zookeeper3:2888:3888

三個節點上述配置一致。只是myid文件內容記錄分別是1,2,3。

2、創建Zookeeper節點2

Docker、Zookeeper、Kafka常用參數詳解

創建Zookeeper節點2

3、創建Zookeeper節點3

Docker、Zookeeper、Kafka常用參數詳解

創建Zookeeper節點3

4、分別進入Zookeeper節點,查看zkServer運行狀態

Docker、Zookeeper、Kafka常用參數詳解

跟隨者

Docker、Zookeeper、Kafka常用參數詳解

跟隨者

Docker、Zookeeper、Kafka常用參數詳解

領導者

領導者已經選舉成功,Zookeeper集群完成

3、創建Kafka集群

​參數配置的含義,都已經有過解釋了,直接看三個節點配置吧

Docker、Zookeeper、Kafka常用參數詳解

Kafka節點1

Docker、Zookeeper、Kafka常用參數詳解

Kafka節點2

Docker、Zookeeper、Kafka常用參數詳解

Kafka節點3

4、測試

這次測試,小編使用宿守主機上的kafka進行測試。鏈接Kafka容器,用的是主機與容器的端口映射。

Docker、Zookeeper、Kafka常用參數詳解

測試成功

結束

本文涵蓋的知識點:

  1. Docker常用命令的介紹
  2. Docker常用配置參數的說明
  3. Docker實現主機與容器通信,端口映射
  4. Docker容器間通信,使用了link方式和network方式
  5. Docker自定義網絡
  6. Docker容器掛載文件,-v
  7. Docker容器環境變量設置,-e
  8. Zookeeper單點部署和集群部署
  9. Kafka單點部署和集群部署
  10. Kafka命令方式生產消息和消費消息

您的關注與點贊,就是對小編最大的鼓勵和支持。小編會繼續努力,為大家帶來乾貨知識。


分享到:


相關文章: