使用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容器是否正常运行并相互通信。
热门推荐
RAW264.7细胞介绍及培养方法
文章写作中的语言艺术:如何让你的文字更动人?
中医舌象数字化:关键技术与工具
怎么算房屋缺角?如何评估房屋缺角对居住环境的影响?
霍普菲尔德与辛顿的神经网络及人工智能的未来
央视网官网首页,中国媒体的门户与窗口
什么时候去云南旅游更好:避开高峰季节,享受更佳时光
青蒿素往事:战争,大协作与争议
团队成长与激励:八大维度全面提升团队实力
李白《越中览古》:越王勾践破吴归,义士还家尽锦衣
人工智能材料如何收集
年纪轻轻就长白发的人,都有这个特点!好消息是:也许能反黑(不是染发)
田英章五律书法:传承古典之美
如何在SMT电子产品设计阶段进行可制造性设计(DFM)?
七款健康破壁机饮品,轻松替代高糖奶茶
塑造未来军人:军事化管理学校的特色教育
Science:MoS2助力钙钛矿太阳能电池效率与稳定性双飞跃
劳动关系工伤情形认定的条件是什么?
利用LLM重新审视金融情感分析
原神纳塔新机制详解:夜魂与燃素使用指南
“安史之乱”之后,唐朝的政治结构发生了什么样的显著变化
投资市场的十年经验与教训
住二楼下水道经常堵的解决办法
下水道反水解决办法有哪些
燃油车在汽车续航排行榜中处于什么位置?
新手饲养波斯猫的全面指南(掌握波斯猫饲养的关键知识和技巧)
公务员考试制胜策略:从岗位选择到面试技巧全方位解析
1988年建行纪念币价值及真伪鉴定指南
从世界看中国,才能逃脱“历史周期律”的死循环
人均月薪过万?这才是中国打工人的工资真相