kafka入门到实战二(使用docker搭建kafka集群)
创始人
2024-05-27 16:45:55
0

使用Docker搭建kafka单机/集群

  • 拉取镜像:2.8.0之前,kafka都需要依赖zookeeper
docker pull wurstmeister/kafka
docker pull wurstmeister/zookeeper
  • 运行zookeeper镜像
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper
  • 运行kafka1镜像(只需要单机就搭单机,需要集群就搭俩)
docker run -d --name kafka1 \-p 9092:9092 \-e KAFKA_BROKER_ID=0 \-e KAFKA_ZOOKEEPER_CONNECT=192.168.56.101:2181 \-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.56.101:9092 \-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka
  • kafka2镜像
docker run -d --name kafka2 \-p 9093:9093 \-e KAFKA_BROKER_ID=1 \-e KAFKA_ZOOKEEPER_CONNECT=192.168.56.101:2181 \-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.56.101:9093 \-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9093 -t wurstmeister/kafka
  • 进入kafka创建topic(这边创建的时候,自己注意下,因为删除很麻烦)
#先进入容器
docker exec -it kafka1 /bin/bash
#建立分区
kafka-topics.sh --create --zookeeper 192.168.56.101:2181 --replication-factor 1 --partitions 1 --topic topic1

kafka命令

  • 创建名为 testTopic

    kafka-topics.sh -zookeeper 192.168.56.101:2181 --create --partitions 3 --replication-factor 1 --topic test
    
  • 查询 Topic 列表

    kafka-topics.sh --list --zookeeper 192.168.56.101:2181
    
  • 删除Topic

    kafka-topics.sh --delete --zookeeper 192.168.56.101:2181 --topic baiyan-test
    
  • 查询 Topic 的信息

    kafka-topics.sh --describe --zookeeper 192.168.56.101:2181 --topic test
    

    注:如果未指定 topic 则输出所有 topic 的信息

    消息相关

  • 生产者发送消息

    bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
    
  • 消费者查询消息

    bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning --group t1
    
  • 查询名为 testTopic 的消息。

    bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --topic test --time -1
    bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --topic test --time -2
    

–time-1 表示要获取指定 topic 所有分区当前的最大位移(历史总消息数),–time-2 表示获取当前最早位移(被消费的消息数),两个命令的输出结果相减便可得到所有分区当前的消息总数。

输出示例:test:0:3

第一个数字0表示分区,第二个数字3表示偏移量。

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
修复 爱普生 EPSON L4... L4151 L4153 L4156 L4158 L4163 L4165 L4166 L4168 L4...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...