问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

使用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容器是否正常运行并相互通信。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号