kafka的Docker镜像使用说明(wurstmeister/kafka)

这篇具有很好参考价值的文章主要介绍了kafka的Docker镜像使用说明(wurstmeister/kafka)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

提醒

在hub.docker.com网站上,Star最多的kafka镜像是wurstmeister/kafka,今天一起来实践这个镜像,使用此镜像搭建kafka环境,并且生产和消费消息;
https://developer.aliyun.com/article/988818

实战环境

操作系统:CentOS7
Docker:24.0.2
docker-compose:v2.18.1

编写docker-compose.yml

version: "3"

# 通用配置
x-common-config: &common-config
  KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
  KAFKA_NUM_PARTITIONS: 3
  KAFKA_DEFAULT_REPLICATION_FACTOR: 2

# kafka镜像通用配置
x-kafka: &kafka
  image: wurstmeister/kafka
  networks:
    net:
  depends_on:
    - zookeeper

services:

  zookeeper:
    container_name: zookeeper
    image: wurstmeister/zookeeper
    ports:
      - "2181:2181"
    environment:
      - ALLOW_ANONYMOUS_LOGIN=yes
    networks:
      - net
    volumes:
      - zookeeper_data:/wurstmeister/zookeeper

  kafka-0:
    container_name: kafka-0
    <<: *kafka
    ports:
      - "9093:9093"
    environment:
      <<: *common-config
      KAFKA_BROKER_ID: 0
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://114.115.166.169:9093
      KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9093
    volumes:
      - kafka_0_data:/wurstmeister/kafka

  kafka-1:
    container_name: kafka-1
    <<: *kafka
    ports:
      - "9094:9094"
    environment:
      <<: *common-config
      KAFKA_BROKER_ID: 1
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://114.115.166.169:9094
      KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9094
    volumes:
      - kafka_1_data:/wurstmeister/kafka

  kafka-2:
    container_name: kafka-2
    <<: *kafka
    ports:
      - "9095:9095"
    environment:
      <<: *common-config
      KAFKA_BROKER_ID: 2
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://114.115.166.169:9095
      KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9095
    volumes:
      - kafka_2_data:/wurstmeister/kafka

volumes:
  zookeeper_data:
  kafka_0_data:
  kafka_1_data:
  kafka_2_data:


networks:
  net:

启动server

在docker-compose.yml所在的文件夹下,执行命令docker compose up -d,会先下载zookeeper和kafka的镜像,然后创建容器;
执行命令docker compose ps,可见启动了一个zookeeper和三个kafka容器:

[root@hecs-334217 kafka-compose]# docker compose ps
NAME                IMAGE                    COMMAND                  SERVICE             CREATED             STATUS              PORTS
kafka-0             wurstmeister/kafka       "start-kafka.sh"         kafka-0             28 minutes ago      Up 28 minutes       0.0.0.0:9093->9093/tcp, :::9093->9093/tcp
kafka-1             wurstmeister/kafka       "start-kafka.sh"         kafka-1             28 minutes ago      Up 28 minutes       0.0.0.0:9094->9094/tcp, :::9094->9094/tcp
kafka-2             wurstmeister/kafka       "start-kafka.sh"         kafka-2             28 minutes ago      Up 28 minutes       0.0.0.0:9095->9095/tcp, :::9095->9095/tcp
zookeeper           wurstmeister/zookeeper   "/bin/sh -c '/usr/sb…"   zookeeper           28 minutes ago      Up 28 minutes       22/tcp, 2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp, :::2181->2181/tcp

查看版本号

执行以下命令查看容器中的kafka版本号:

[root@hecs-334217 kafka-compose]# docker exec kafka-0 find / -name \*kafka_\* | head -1 
| grep -o '\kafka[^\n]*'
kafka_2.13-2.8.1

上述命令执行后,我这边控制台显示kafka_2.11-0.11.0.3,这表示Scala 的版本为2.11,kafka的版本是0.11.0.3;
执行以下命令查看zookeeper版本:

[root@hecs-334217 kafka-compose]# docker exec zookeeper pwd
/opt/zookeeper-3.4.13

创建topic

创建一个topic,名为topic001,3个partition,副本因子2,执行以下命令即可:

[root@hecs-334217 kafka-compose]# docker exec kafka-1 kafka-topics.sh --create --topic topic001 --partitions 3 --zookeeper zookeeper:2181 --replication-factor 2
Created topic topic001.

执行以下命令查看刚刚创建的topic,这次在容器kafka-2上执行命令试试:

[root@hecs-334217 kafka-compose]# docker exec kafka-2 kafka-topics.sh --list --zookeeper zookeeper:2181
test
topic001

可见刚刚创建的topic可以被查到;
查看刚刚创建的topic的情况,borker和副本情况一目了然,如下:

[root@hecs-334217 kafka-compose]# docker exec kafka-0 kafka-topics.sh --describe --topic topic001 --zookeeper zookeeper:2181
Topic: topic001 TopicId: umQtyLTtQQCeMG8W5bWcpA PartitionCount: 3       ReplicationFactor: 2    Configs: 
        Topic: topic001 Partition: 0    Leader: 0       Replicas: 0,1   Isr: 0,1
        Topic: topic001 Partition: 1    Leader: 1       Replicas: 1,2   Isr: 1,2
        Topic: topic001 Partition: 2    Leader: 2       Replicas: 2,0   Isr: 2,0

消费消息

执行如下命令,即可进入等待topic为topic001消息的状态:

docker exec kafka-2 \
kafka-console-consumer.sh \
--topic topic001 \
--bootstrap-server kafka-0:9093,kafka-1:9094,kafka-2:9095

目前还没有生产消息,因此控制台不会有内容输出,接下来尝试生产消息;

生产消息

打开一个新的窗口,执行如下命令,进入生产消息的命令行模式,注意不要漏掉参数"-it"

docker exec -it kafka-1 \
kafka-console-producer.sh \
--topic topic001 \
--broker-list kafka-0:9093,kafka-1:9094,kafka-2:9095

现在已经进入了生产消息的命令行模式,输入一些字符串然后回车,再去消费消息的控制台窗口看看,已经有消息打印出来,说明消息的生产和消费都成功了。
wurstmeister/kafka,kafka,kafka,docker,分布式

docker compose 命令

# 启动:
$ docker compose up -d  # docker-compose up -d 这种是旧版的,新版本已经抛弃了
 
# 查看compose容器
$ docker compose ps

# 删除容器:
$ docker compose down

Kafka 可视化工具(Kafka Tool)

https://www.cnblogs.com/miracle-luna/p/11299345.html文章来源地址https://www.toymoban.com/news/detail-849327.html

到了这里,关于kafka的Docker镜像使用说明(wurstmeister/kafka)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • kafka安装说明以及在项目中使用

    1、 本次实验,采用kafka版本为 3.4.0 2、我们首先需要了解一下,一个 Kafka 集群是由下列几种类型的节点构成的,它们充当着不同的作用: Broker 节点 :即 代理节点 ,是 Kafka 中的工作节点,充当消息队列的角色, 负责储存和处理消息 ,每个 Broker 都是一个独立的 Kafka 服务器

    2024年02月12日
    浏览(55)
  • kafka 命令脚本说明以及在java中使用

    1、关于topic,这里用window 来示例 2、创建 first topic,五个分区,1个副本 3、查看当前服务器中的所有 topic 4、查看 first 主题的详情 5、修改分区数**(注意:分区数只能增加,不能减少)** 6、删除 topic,该操作在winodw,会出现文件授权问题,日志可以在kafka的启动命令窗口中查看,

    2024年02月10日
    浏览(48)
  • 40、Flink 的Apache Kafka connector(kafka source 和sink 说明及使用示例) 完整版

    一、Flink 专栏 Flink 专栏系统介绍某一知识点,并辅以具体的示例进行说明。 1、Flink 部署系列 本部分介绍Flink的部署、配置相关基础内容。 2、Flink基础系列 本部分介绍Flink 的基础部分,比如术语、架构、编程模型、编程指南、基本的datastream api用法、四大基石等内容。 3、

    2024年02月05日
    浏览(46)
  • DevOps系列文章 之 docker 制作kafka镜像

    Docker制作Kafka镜像教程 概述 本教程将指导你如何使用Docker制作一个Kafka镜像。Kafka是一个高性能、分布式的消息队列系统,用于处理大规模的实时数据流。使用Docker制作Kafka镜像可以方便地部署和管理Kafka集群。 整体流程 下面是制作Kafka镜像的整体流程: 步骤1:安装Docker 首先

    2024年02月15日
    浏览(33)
  • 【VxWorks】VxWorks系统详细介绍说明,环境搭建说明,使用场景,使用实例

    目录 1.VxWorks 概述 2.详细介绍 2.环境搭建说明 3.使用场景 4.使用实例         VxWorks 是一款实时操作系统(RTOS),广

    2024年02月15日
    浏览(39)
  • iotop命令使用说明及iotop输出排序操作说明

    iotop是一个用来显示实时的磁盘活动 的工具,可查看哪些程序、进程或线程占用io过多。 iotop监控 Linux 内核输出的 I/O 使用信息,并且显示一个系统中进程或线程的当前 I/O 使用情况。它显示每个进程/线程读写 I/O 带宽。它同样显示当等待换入和等待 I/O 的线程/进程花费的时

    2024年04月12日
    浏览(49)
  • valgrind基本功能介绍、基础使用方法说明 valgrind基本功能介绍、基础使用方法说明

    valgrind基本功能介绍、基础使用方法说明_valgrind使用方法_HNU Latecomer的博客-CSDN博客 拷贝效果不好,请看原文。 1、Valgrind概述 Valgrind是一套Linux下,开放源代码(GPL V2)的仿真调试工具的集合。 Valgrind由内核(core)以及基于内核的其他调试工具组成。内核类似于一个框架(f

    2024年02月07日
    浏览(59)
  • chatGPT使用说明,相关技巧,使用记录等等

    它的工作原理是基于自然语言处理技术和深度学习算法。当用户输入问题时,我会将问题分解成并进行语义分析,以 理解用户的意图 。接着,我会调用内部的知识库和外部资源,比如搜索引擎、数据库等,寻找与问题相关的答案,并通过 回答、提供链接、建议 等方式

    2024年02月03日
    浏览(51)
  • 超维空间M1无人机使用说明书——01、ROS机载电脑使用说明——远程连接

    1、SSH优缺点 优点:1、消耗网络资源 2、运行稳定 缺点:1、图形化界面卡顿 2、对新手不友好 2、可视化软件优缺点 优点:1、对新手友好 2、运图形化界面比ssh流畅 缺点:1、消耗网络资源 一、远程登录到无人机端的Jetson nano 步骤一、通过SSH 登录到ROS主控端 无人机上电后会默认发

    2024年01月22日
    浏览(67)
  • git仓库使用说明

    Git软件使用 1.先下载git相关软件 下载地址: Git - Downloading Package (git-scm.com) 下载其中一个安装 2.打开gitee网站,注册账号 3.打开个人中心,选择ssh公钥,查看如何生成公钥 4.生成公钥后,添加相应的公钥 具体仓库操作 1.第一次提交需要配置账号 或者直接通过终端修改 git con

    2024年01月20日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包