使用Docker快速部署Kafka
创作时间:
作者:
@小白创作中心
使用Docker快速部署Kafka
引用
CSDN
1.
https://blog.csdn.net/m0_51390969/article/details/140156693
Kafka是一个分布式流处理平台,广泛应用于大数据领域。Docker则是一种容器化技术,可以轻松地在不同环境中部署和运行应用程序。本文将介绍如何使用Docker快速部署Kafka,并通过一系列校验步骤确保其正常运行。
1. 拉取镜像
选择一组兼容性好的版本。
docker pull bitnami/kafka:3.6.1
docker pull bitnami/zookeeper:3.8.2
2. 运行
创建网络
首先,创建一个名为kafka的Docker bridge网络:
docker network create kafka
运行ZooKeeper容器
然后,运行ZooKeeper容器并将其连接到kafka网络:
docker run -d --name zookeeper --network kafka -e ALLOW_ANONYMOUS_LOGIN=yes bitnami/zookeeper:3.8.2
运行Kafka容器
最后,运行Kafka容器并将其连接到kafka网络:
docker run -d --name kafka --network kafka -e KAFKA_BROKER_ID=1 -e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 -e ALLOW_PLAINTEXT_LISTENER=yes -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092 -p 9092:9092 bitnami/kafka:3.6.1
这些命令将使ZooKeeper和Kafka容器在同一个Docker网络中运行,并确保它们可以相互通信。
3. 简单的校验
要判断ZooKeeper和Kafka容器是否正常运行,可以通过以下几个步骤进行检查:
1. 检查容器状态
首先,检查ZooKeeper和Kafka容器是否正在运行:
docker ps
输出应包含类似以下内容:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
<zookeeper_id> bitnami/zookeeper:3.8.2 "/opt/bitnami/script…" <some_time_ago> Up <some_time> 2181/tcp zookeeper
<kafka_id> bitnami/kafka:3.6.1 "/opt/bitnami/script…" <some_time_ago> Up <some_time> 0.0.0.0:9092->9092/tcp, :::9092->9092/tcp kafka
2. 检查ZooKeeper日志
查看ZooKeeper容器的日志,以确保它已成功启动并正在运行:
docker logs zookeeper
日志中应包含类似以下内容:
INFO Started AdminServer on address 0.0.0.0, port 8080
INFO binding to port 0.0.0.0/0.0.0.0:2181
3. 检查Kafka日志
查看Kafka容器的日志,以确保它已成功连接到ZooKeeper并正在运行:
docker logs kafka
日志中应包含类似以下内容:
INFO [KafkaServer id=1] started (kafka.server.KafkaServer)
INFO [ZooKeeperClient] Connected. (org.apache.zookeeper.ClientCnxn)
4. 使用Kafka命令行工具检查
进入Kafka容器内部,并使用Kafka命令行工具检查Kafka和ZooKeeper的状态:
docker exec -it kafka /bin/bash
# 列出Kafka主题
kafka-topics.sh --list --bootstrap-server kafka:9092
如果可以成功列出Kafka主题,则表示Kafka和ZooKeeper正常运行。
5. 创建和删除测试主题
可以尝试创建一个测试主题,并查看是否成功:
# 创建一个名为test-topic的主题
kafka-topics.sh --create --topic test-topic --partitions 1 --replication-factor 1 --bootstrap-server kafka:9092
# 列出所有主题,确认test-topic是否存在
kafka-topics.sh --list --bootstrap-server kafka:9092
# 删除test-topic主题
kafka-topics.sh --delete --topic test-topic --bootstrap-server kafka:9092
通过以上步骤,可以确认ZooKeeper和Kafka容器是否正常运行并相互通信。
热门推荐
中医食疗,告别“笑尿”烦恼
浮小麦:古法养生的秘密武器
浮小麦:都市养生新宠儿
洁癖性格:一种强迫症还是独特的心理特征?
李维嘉洁癖风波:当洁癖遇上人际关系
吴三桂引清军入关,真是“为红颜”吗?
从吴三桂冲冠一怒到明末兴衰:解读吴伟业《圆圆曲》
一曲清歌动吴将,国破家亡各天涯:陈圆圆与吴三桂
中国驾照如何更换美国驾照?纽约附近那些州支持免路考换美国驾照?
从《醉梦》到《飞翔》:高明骏5首金曲再登榜单
浮小麦:亚健康的救星?
国庆游阳朔:西街夜生活的绚丽与漓江风光的静谧
长沙文旅新选择:经典地标与小众“海景”全攻略
长沙2023年游客量大增43.99%,文旅融合激发千年古城新活力
长沙必打卡:岳麓山、橘子洲、杜甫江阁摄影全攻略
如何科学选择钙补充剂?
大理四日深度游:古城、洱海、崇圣寺三塔经典攻略
音响自动编程技术详解:打造完美声场的智能解决方案
音频数字化入门:采样率、量化位数与编码原理
吴三桂与陈圆圆:一段引发朝代更替的传奇
“冲冠一怒为红颜”:陈圆圆与明末清初的乱世传奇
“红颜祸水”陈圆圆:历史叙事中的性别偏见
明末风云中的关键抉择:吴三桂投清为红颜还是为江山?
王者荣耀S37赛季典韦旋风流出装攻略
王者荣耀S37赛季典韦最强出装攻略:燃烧苍穹流称霸野区
盘菜,又称芜菁、诸葛菜,有4大作用,价值极高,农民要了解!
老人去世后死亡证明办理指南:从居村委会到派出所
亲人国外去世处理全攻略:从应急到丧葬安排
一文详解:老人在家去世后死亡证明办理全流程
业务流程变革与数字化转型:从概念到实施的完整指南