Docker安装kafka并创建topic进行消息通信过程

 更新时间:2025年12月02日 08:48:55   作者:阳仔的屁仔  
本文介绍了如何使用Docker容器化技术来安装和配置Apache Kafka,并详细介绍了如何创建topic进行消息通信,通过Docker和Docker Compose两种方式,可以方便地搭建Kafka集群,并进行消息的发布和订阅

Docker安装kafka并创建topic进行消息通信

Apache Kafka是一个分布式流处理平台,用于构建高性能、可扩展的实时数据流应用程序。

本文将介绍如何使用Docker容器化技术来安装和配置Apache Kafka。

一、使用镜像安装

1、kafka安装必须先安装Zookpper

2、下载镜像

docker pull wurstmeister/kafka

3、查看下载好的镜像

docker images

4、启动Kafka

docker run -d --name kafka --publish 9092:9092 \ --link zookeeper \ --env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 \ --env KAFKA_ADVERTISED_HOST_NAME=127.0.0.1 \ --env KAFKA_ADVERTISED_PORT=9092 \ wurstmeister/kafka

5、查看是否创建好Kafka容器

docker ps

6、进入到Kafka容器内

sudo docker exec -it kafka /bin/bash

7、创建topic

cd opt/kafka_2.13-2.6.0/bin

创建topic

./kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 8 --topic test Created topic test.

8、创建成功之后发送消息

./kafka-console-producer.sh --broker-list localhost:9092 --topic test

9、重新打开一个终端,创建消费者

sudo docker exec -it kafka /bin/bash cd opt/kafka_2.13-2.6.0/bin/ ./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning #若不想从头消费就使用 ./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test

这样就能接受到生产着生产的数据了

10、查看、删除Kafka中的所有的topic

#查看 ./kafka-topics.sh --list --bootstrap-server ZK地址:端口
./kafka-topics.sh --list --bootstrap-server localhost:9092

#删除 ./kafka-topics.sh --delete --bootstrap-server ZK地址:端口 --topic topic名
./kafka-topics.sh --delete --bootstrap-server localhost:9092 --topic local_point

二、使用Docker Compose安装

1. 安装Docker和Docker Compose

首先,确保你的系统已经安装了Docker和Docker Compose。你可以根据操作系统的不同,按照官方文档的指引进行安装。

2. 创建Docker Compose文件

在你的项目目录下创建一个名为`docker-compose.yml`的文件,并添加以下内容:

services:
 zookeeper:
 image: confluentinc/cp-zookeeper:6.2.0 ports:
 - "2181:2181"
 environment:
 - ZOOKEEPER_CLIENT_PORT=2181 - ZOOKEEPER_TICK_TIME=2000 kafka:
 image: confluentinc/cp-kafka:6.2.0 ports:
 - "9092:9092"
 environment:
 - KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 - KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092 - KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 depends_on:
 - zookeeper```

3. 启动Kafka集群

打开终端,进入到包含`docker-compose.yml`文件的目录,并执行以下命令启动Kafka集群,如下命令Docker将会下载所需的镜像,并启动一个包含Zookeeper和Kafka的容器集群。

bashdocker-compose up -d

4. 验证Kafka集群是否正常运行

执行以下命令,查看Kafka集群的运行状态:如果所有容器都处于运行状态,则表示Kafka集群已成功启动。

bashdocker-compose ps

5. 使用Kafka

现在可以使用Kafka进行消息的发布和订阅。可以使用Kafka的命令行工具或者编程语言的Kafka客户端库来与Kafka集群进行交互。

6. 停止和清理

如果想停止Kafka集群并清理相关的容器和资源,可以执行以下命令,Docker将会停止并删除相关的容器和网络。

bashdocker-compose down

总结

通过使用Docker容器化技术,我们可以方便地安装和配置Apache Kafka,快速搭建一个可用的Kafka集群。

这为我们开发和测试实时数据流应用程序提供了便利,同时也提供了良好的可扩展性和灵活性。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • docker上安装和卸载MySQL数据库详细图文教程

    docker上安装和卸载MySQL数据库详细图文教程

    Docker是一种容器化技术,可以快速方便地部署和管理应用程序,Mysql 是一个开源的关系型数据库管理,系统这篇文章主要给大家介绍了关于docker上安装和卸载MySQL数据库的相关资料,需要的朋友可以参考下
    2024-05-05
  • Docker中忽略文件的实现

    Docker中忽略文件的实现

    Docker忽略文件是指在Docker镜像构建过程中,用于忽略指定文件或目录的一种机制,本文主要介绍了Docker中忽略文件的实现,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • Docker如何修改正在运行的容器的时区和时间

    Docker如何修改正在运行的容器的时区和时间

    在Docker容器中修改时区和时间的步骤:1. 进入容器,使用dockerexec命令以root用户身份进入,2. 安装时区文件,根据基础镜像选择合适的包管理器(如apt-get或apk),3. 设置时区,通过创建软链接或设置环境变量TZ,并更新系统时区
    2025-01-01
  • Docker格式化输出命令:"docker inspect --format" 学习记录

    Docker格式化输出命令:"docker inspect --format" 学习记录

    Docker --format 参数提供了基于 Go模板 的日志格式化输出辅助功能,并提供了一些内置的增强函数,这篇文章主要介绍了Docker格式化输出命令:"docker inspect --format" 学习笔记,需要的朋友可以参考下
    2023-01-01
  • 基于Docker部署Tomcat集群、 Nginx负载均衡的问题小结

    基于Docker部署Tomcat集群、 Nginx负载均衡的问题小结

    这篇文章主要介绍了基于Docker部署 Tomcat集群、 Nginx负载均衡,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • idea使用docker生成镜像的详细步骤

    idea使用docker生成镜像的详细步骤

    本文详细介绍了在Windows环境下使用Docker Desktop进行Docker镜像的打包、运行、导出以及在Linux系统中的导入操作,重点讲解了如何在Windows中安装Docker Desktop,构建Docker镜像的步骤,文中介绍的非常详细,需要的朋友可以参考下
    2024-10-10
  • Docker 学习文档(知识结构整理)

    Docker 学习文档(知识结构整理)

    这篇文章主要介绍了Docker 学习文档的相关资料,需要的朋友可以参考下
    2016-11-11
  • Docker 搭建 Tomcat 运行环境的方法

    Docker 搭建 Tomcat 运行环境的方法

    这篇文章主要介绍了Docker 搭建 Tomcat 运行环境的方法,Docker与虚拟机及搭建过程,介绍的非常详细,需要的朋友可以参考下
    2016-10-10
  • Docker-compose详解和LNMP搭建全过程

    Docker-compose详解和LNMP搭建全过程

    Docker-Compose是Docker的一个官方开源项目,用于快速编排Docker容器集群,它允许用户在YAML文件中定义多个服务,每个服务可以包含一个或多个容器,这些容器可以通过Dockerfile构建或直接运行现有镜像,Docker-Compose支持多种配置选项
    2024-11-11
  • docker实现跨宿主机的容器之间网络互联

    docker实现跨宿主机的容器之间网络互联

    本文主要介绍了docker实现跨宿主机的容器之间网络互联,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01

最新评论