日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

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

作者:愚公搬代碼 ? 更新時(shí)間: 2022-05-22 編程語言

一、Kafka集群的搭建

1.拉取相關(guān)鏡像

docker pull wurstmeister/kafka
docker pull zookeeper

2.運(yùn)行zookeeper

docker run -d --name zookeeper -p 2181:2181 -t zookeeper

3.運(yùn)行kafka

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

參數(shù)說明:

  • -e KAFKA_BROKER_ID=0 在kafka集群中,每個(gè)kafka都有一個(gè)BROKER_ID來區(qū)分自己
  • -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的地址端口注冊(cè)給zookeeper,如果是遠(yuǎn)程訪問要改成外網(wǎng)IP。
  • -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 配置kafka的監(jiān)聽端口:這個(gè)不能改
  • -v /etc/localtime:/etc/localtime 容器時(shí)間同步虛擬機(jī)的時(shí)間

啟動(dòng)3個(gè)Kafka節(jié)點(diǎn)

4.設(shè)置topic

進(jìn)入kafka0

docker exec -it kafka0 /bin/bash

進(jìn)入bin目錄

cd /opt/kafka_2.13-2.8.1/bin

創(chuàng)建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所有分區(qū)會(huì)分散在不同Broker上,所以該topic的5個(gè)分區(qū)會(huì)被分散到3個(gè)Broker上,其中有兩個(gè)Broker得到兩個(gè)分區(qū),另一個(gè)Broker只有1個(gè)分區(qū),如圖所示:

集群節(jié)點(diǎn)說明:

  • Topic: TestTopic PartitionCount: 5 ReplicationFactor:3代表TestTopic有5個(gè)分區(qū),3個(gè)副本節(jié)點(diǎn);
  • Topic: 代表主題名稱
  • Leader代表主題節(jié)點(diǎn)號(hào),
  • Replicas代表他的副本節(jié)點(diǎn)有Broker.id = 2、0、1(包括Leader Replica和Follower Replica,且不管是否存活),
  • Isr表示存活并且同步Leader節(jié)點(diǎn)的副本有Broker.id = 2、0、1

5.進(jìn)行生產(chǎn)者和消費(fèi)者測(cè)試

分別在Broker0上運(yùn)行一個(gè)生產(chǎn)者,Broker1、2上分別運(yùn)行一個(gè)消費(fèi)者:

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

原文鏈接:https://blog.csdn.net/aa2528877987/article/details/123589123

欄目分類
最近更新