使用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容器是否正常运行并相互通信。
热门推荐
智慧军校训练提升训练效能
全国大学生数学建模竞赛(CUMCM)历年试题速浏(查看超级方便)
分裂导线是什么?导线间隔棒在线监测装置发挥大作用!
从心出发:心理疏导如何助你走出心理困境
四季养生技巧:根据季节调整生活方式
苏格拉底的智慧:知识与无知的永恒之争
诺如病毒预防指南【个人&家庭篇】
压铸件缩孔缩松现象的原因及解决方案
子痫前期的筛查、预测与预防
什么是股票市场中的换手率及其意义?这种换手率对投资策略的影响是什么?
乔英子跳河背后原因:心理挣扎与生活压力全解析
感谢用语大全 让你的谢意更真诚 英语更地道!
膳食纤维:定义、分类、健康益处及摄入建议
手机闹钟设置闹铃的详细教程:从选择时间到测试闹铃的完整步骤
机器学习四大任务:回归、分类、聚类与降维
人工智能:定义、分类与未来展望
培养皿中的“微型大脑”会学习?首款商用生物计算机CL1如何用脑细胞颠覆计算未来
Roaming是什么文件夹?C盘的 Roaming 文件夹可以删除吗?
提升英语听力的五大技巧:从入门到精通的专业指南
吕不韦:从富商到丞相,从政治家到悲剧人物
镜头与时代对话——四川省成都市档案馆“成都·城市记忆”主题档案展览
选择性激光蚀刻中蚀刻剂对玻璃通孔锥角和选择性的影响
恭喜!布朗尼体测数据出炉,身高仅187,两成绩彰显天赋
工商业光伏并网申请流程详解
记者实地探访重庆高考录取场 今年启用加密新生电子名册防篡改
机器视觉——双目视觉的基础知识(视差深度、标定、立体匹配)
八字命理中的印星:定义、查法与意义
融资融券投资指南:机会与风险全解析
注册税务师经济法必背:核心知识点与实务精解
传统酿酒工艺:历史传承与现代市场的交融