網(wǎng)站首頁 編程語言 正文
一、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
相關(guān)推薦
- 2022-07-13 SpringCloud之Gateway統(tǒng)一網(wǎng)關(guān)
- 2022-08-02 c#?Task.Wait()與awaiat?Task異常處理的區(qū)別說明_C#教程
- 2022-05-17 解析Go?中的?rune?類型_Golang
- 2022-03-28 Python實(shí)現(xiàn)網(wǎng)頁文件轉(zhuǎn)PDF文件和PNG圖片的示例代碼_python
- 2022-05-27 python使用pandas進(jìn)行量化回測(cè)_python
- 2022-01-13 出現(xiàn)/usr/lib64/erlang/erts-10.3/bin/beam.smp: error
- 2022-04-28 C++實(shí)現(xiàn)班級(jí)成績(jī)管理系統(tǒng)_C 語言
- 2022-05-13 eigen交叉編譯
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支