使用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容器是否正常运行并相互通信。
热门推荐
iOS开发者的UIStackView速成秘籍
iOS开发必备:UIStackView高级用法揭秘
UIStackView:iOS开发者必备神器!
如何设计更好的食品包装设计
温铁军解读:从老冷战到新冷战的历史演变
胰腺癌的中医认识与治疗
通过哪些方法可以发现早期肺癌?最好在没有症状的时候检查
Vue项目推荐的技术栈选择指南
全国爱牙日:儿童牙洞预防攻略
牙洞大作战:防蛀小妙招
INFJ父母的“心灵感应”育儿经:如何培养出既独立又贴心的孩子?
一位INFJ妈妈的育儿心路:从纠结到成长
三代人的航空报国梦:从飞行教员到航天员的传承
不动产投资基金的优势与风险
去法院申请强制执行需要准备什么资料?
李佳琦深夜发文斥责网络暴力:做人难,做公众人物更难
上海发布反网络暴力最新研究报告:网络暴力治理面临三大困境
联合国儿童基金会:如何应对网络暴力?
0.1%的成功概率:爱迪生发明电灯泡背后的坚持哲学
拨云退翳丸是什么药物
适合移民的欧洲国家中哪个的气候最宜人?
欧洲气候特征:以温带气候类型为主,是海洋性气候最显著的大洲
电视背景墙应该这样设计,绝不只是电视挂墙上!
冬日元阳梯田摄影攻略:捕捉大地的绝美瞬间
元阳梯田的绝美四季,你最爱哪个?
元阳哈尼梯田:守护绿水青山的新画卷
四种冥想类型及其好处:如何选择适合自己的冥想方式
向量在物理中的应用:从理论到实践
向量几何:从基本概念到实际应用
同样演情妇,看了《我是刑警》洗脚妹美珍,才知道啥是女人味十足