本篇內容介紹了“Docker容器怎么搭建Kafka集群”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
docker pull wurstmeister/kafka docker pull zookeeper
docker run -d --name zookeeper -p 2181:2181 -t zookeeper
Kafka0:
docker run -d --name kafka0 -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.16.129:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.16.129:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka
Kafka1:
docker run -d --name kafka1 -p 9093:9093 -e KAFKA_BROKER_ID=1 -e KAFKA_ZOOKEEPER_CONNECT=192.168.16.129:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.16.129:9093 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9093 -t wurstmeister/kafka
Kafka2:
docker run -d --name kafka2 -p 9094:9094 -e KAFKA_BROKER_ID=2 -e KAFKA_ZOOKEEPER_CONNECT=192.168.16.129:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.16.129:9094 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9094 -t wurstmeister/kafka
參數說明:
-e KAFKA_BROKER_ID=0
在kafka集群中,每個kafka都有一個BROKER_ID來區分自己
-e KAFKA_ZOOKEEPER_CONNECT=10.20.8.50:2181/kafka
配置zookeeper管理kafka的路徑10.20.8.50:2181/kafka
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://10.20.8.50:9092
把kafka的地址端口注冊給zookeeper,如果是遠程訪問要改成外網IP。
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092
配置kafka的監聽端口:這個不能改
-v /etc/localtime:/etc/localtime
容器時間同步虛擬機的時間
啟動3個Kafka節點
進入kafka0
docker exec -it kafka0 /bin/bash
進入bin目錄
cd /opt/kafka_2.13-2.8.1/bin
創建topic
kafka-topics.sh --create --zookeeper 192.168.16.129:2181 --replication-factor 3 --partitions 5 --topic TestTopic
查看topic
kafka-topics.sh --describe --zookeeper 192.168.16.129:2181 --topic TestTopic
Kafka的topic所有分區會分散在不同Broker上,所以該topic的5個分區會被分散到3個Broker上,其中有兩個Broker得到兩個分區,另一個Broker只有1個分區,如圖所示:
集群節點說明:
Topic: TestTopic PartitionCount: 5 ReplicationFactor:3
代表TestTopic有5個分區,3個副本節點;
Topic
: 代表主題名稱
Leader
代表主題節點號,
Replicas
代表他的副本節點有Broker.id = 2、0、1(包括Leader Replica和Follower Replica,且不管是否存活),
Isr
表示存活并且同步Leader節點的副本有Broker.id = 2、0、1
分別在Broker0上運行一個生產者,Broker1、2上分別運行一個消費者:
kafka-console-producer.sh --broker-list 192.168.16.129:9092 --topic TestTopic kafka-console-consumer.sh --bootstrap-server 192.168.16.129:9093 --topic TestTopic --from-beginning kafka-console-consumer.sh --bootstrap-server 192.168.16.129:9094 --topic TestTopic --from-beginning
“Docker容器怎么搭建Kafka集群”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。