Docker安裝kafka并創(chuàng)建topic進(jìn)行消息通信過(guò)程
Docker安裝kafka并創(chuàng)建topic進(jìn)行消息通信
Apache Kafka是一個(gè)分布式流處理平臺(tái),用于構(gòu)建高性能、可擴(kuò)展的實(shí)時(shí)數(shù)據(jù)流應(yīng)用程序。
本文將介紹如何使用Docker容器化技術(shù)來(lái)安裝和配置Apache Kafka。
一、使用鏡像安裝
1、kafka安裝必須先安裝Zookpper
2、下載鏡像
docker pull wurstmeister/kafka
3、查看下載好的鏡像
docker images
4、啟動(dòng)Kafka
docker run -d --name kafka --publish 9092:9092 \ --link zookeeper \ --env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 \ --env KAFKA_ADVERTISED_HOST_NAME=127.0.0.1 \ --env KAFKA_ADVERTISED_PORT=9092 \ wurstmeister/kafka
5、查看是否創(chuàng)建好Kafka容器
docker ps
6、進(jìn)入到Kafka容器內(nèi)
sudo docker exec -it kafka /bin/bash
7、創(chuàng)建topic
cd opt/kafka_2.13-2.6.0/bin

創(chuàng)建topic
./kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 8 --topic test Created topic test.
8、創(chuàng)建成功之后發(fā)送消息
./kafka-console-producer.sh --broker-list localhost:9092 --topic test

9、重新打開(kāi)一個(gè)終端,創(chuàng)建消費(fèi)者
sudo docker exec -it kafka /bin/bash cd opt/kafka_2.13-2.6.0/bin/ ./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning #若不想從頭消費(fèi)就使用 ./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test

這樣就能接受到生產(chǎn)著生產(chǎn)的數(shù)據(jù)了
10、查看、刪除Kafka中的所有的topic
#查看 ./kafka-topics.sh --list --bootstrap-server ZK地址:端口 ./kafka-topics.sh --list --bootstrap-server localhost:9092 #刪除 ./kafka-topics.sh --delete --bootstrap-server ZK地址:端口 --topic topic名 ./kafka-topics.sh --delete --bootstrap-server localhost:9092 --topic local_point
二、使用Docker Compose安裝
1. 安裝Docker和Docker Compose
首先,確保你的系統(tǒng)已經(jīng)安裝了Docker和Docker Compose。你可以根據(jù)操作系統(tǒng)的不同,按照官方文檔的指引進(jìn)行安裝。
2. 創(chuàng)建Docker Compose文件
在你的項(xiàng)目目錄下創(chuàng)建一個(gè)名為`docker-compose.yml`的文件,并添加以下內(nèi)容:
services: zookeeper: image: confluentinc/cp-zookeeper:6.2.0 ports: - "2181:2181" environment: - ZOOKEEPER_CLIENT_PORT=2181 - ZOOKEEPER_TICK_TIME=2000 kafka: image: confluentinc/cp-kafka:6.2.0 ports: - "9092:9092" environment: - KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 - KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092 - KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 depends_on: - zookeeper```
3. 啟動(dòng)Kafka集群
打開(kāi)終端,進(jìn)入到包含`docker-compose.yml`文件的目錄,并執(zhí)行以下命令啟動(dòng)Kafka集群,如下命令Docker將會(huì)下載所需的鏡像,并啟動(dòng)一個(gè)包含Zookeeper和Kafka的容器集群。
bashdocker-compose up -d
4. 驗(yàn)證Kafka集群是否正常運(yùn)行
執(zhí)行以下命令,查看Kafka集群的運(yùn)行狀態(tài):如果所有容器都處于運(yùn)行狀態(tài),則表示Kafka集群已成功啟動(dòng)。
bashdocker-compose ps
5. 使用Kafka
現(xiàn)在可以使用Kafka進(jìn)行消息的發(fā)布和訂閱。可以使用Kafka的命令行工具或者編程語(yǔ)言的Kafka客戶(hù)端庫(kù)來(lái)與Kafka集群進(jìn)行交互。
6. 停止和清理
如果想停止Kafka集群并清理相關(guān)的容器和資源,可以執(zhí)行以下命令,Docker將會(huì)停止并刪除相關(guān)的容器和網(wǎng)絡(luò)。
bashdocker-compose down
總結(jié)
通過(guò)使用Docker容器化技術(shù),我們可以方便地安裝和配置Apache Kafka,快速搭建一個(gè)可用的Kafka集群。
這為我們開(kāi)發(fā)和測(cè)試實(shí)時(shí)數(shù)據(jù)流應(yīng)用程序提供了便利,同時(shí)也提供了良好的可擴(kuò)展性和靈活性。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
docker中nginx的location轉(zhuǎn)發(fā)不生效的解決
這篇文章主要介紹了docker中nginx的location轉(zhuǎn)發(fā)不生效的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06
docker run的--rm選項(xiàng)使用說(shuō)明
這篇文章主要介紹了docker run的--rm選項(xiàng)使用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11
解決docker容器設(shè)置DNS不生效的問(wèn)題
文章主要介紹了如何在Docker中設(shè)置DNS,并通過(guò)兩種方式(`docker run`和`docker-compose.yml`)進(jìn)行了詳細(xì)說(shuō)明,雖然`docker run`方式可以成功設(shè)置DNS,但`docker-compose.yml`方式在某些情況下會(huì)導(dǎo)致DNS配置無(wú)效,因?yàn)槿萜鞯腵/etc/resolv.conf`文件2025-01-01
docker-maven-plugin 插件無(wú)法拉取對(duì)應(yīng)jar包問(wèn)題
這篇文章主要介紹了docker-maven-plugin 插件無(wú)法拉取問(wèn)題,總是報(bào)錯(cuò),如何解決這個(gè)問(wèn)題呢,下面小編給大家?guī)?lái)了解決方法,一起看看吧2021-09-09
使用portainer連接遠(yuǎn)程docker的教程
Portainer是一個(gè)輕量級(jí)的docker環(huán)境管理UI,可以用來(lái)管理docker宿主機(jī)和docker swarm集群,這篇文章主要介紹了使用portainer連接遠(yuǎn)程docker的方法,需要的朋友可以參考下2020-03-03
詳解docker nginx 容器啟動(dòng)掛載到本地
這篇文章主要介紹了詳解docker nginx 容器啟動(dòng)掛載到本地,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
Docker部署Microsoft Sql Server詳細(xì)步驟
大家好,本篇文章主要講的是Docker部署Microsoft Sql Server詳細(xì)步驟,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話(huà)記得收藏一下,方便下次瀏覽2021-12-12

