当前位置: 首页 > news >正文

kafka入门到实战二(使用docker搭建kafka集群)

使用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表示偏移量。

http://www.lryc.cn/news/25910.html

相关文章:

  • 【简化开发】lombok的使用、编译后的代码及源码
  • 在线就能用的主图设计素材,免费分享!
  • 【测绘程序设计】——计算卫星位置
  • 山东双软认证的基本条件
  • TPM 2.0实例探索3 —— LUKS磁盘加密(4)
  • Linux连接RDP远程服务工具集记录
  • 离散事件动态系统
  • 无线WiFi安全渗透与攻防(二)之打造专属字典
  • 拥抱 Spring 全新 OAuth 解决方案
  • 前端开发与vscode开发工具介绍
  • C++---最长上升子序列模型---友好城市(每日一道算法2023.3.2)
  • maven高级知识。
  • Python 之 Pandas 处理字符串和apply() 函数、applymap() 函数、map() 函数详解
  • 汇川AM402和上位机C#ModebusTcp通讯
  • 给你一个电商网站,你如何测试?功能测试及接口测试思路是什么?
  • Spring Boot 3.0系列【5】基础篇之应用配置文件
  • SQLyog图形化界面工具【超详细讲解】
  • Linux: 中断只被GIC转发到CPU0问题分析
  • 模电学习10. MOS管简单应用电路
  • 轻松搞懂Linux中的用户管理
  • 力扣-丢失信息的雇员
  • FPGA采集AD7606全网最细讲解 提供串行和并行2套工程源码和技术支持
  • CSS介绍
  • Auto-encoder 系列
  • 【蓝桥杯入门不入土】变幻莫测的链表
  • axios的二次封装
  • GET与POST区别(最详细)
  • 精选博客系列|将基于决策树的Ensemble方法用于边缘计算
  • JS混淆加密:Eval的未公开用法
  • π型滤波器 计算_π型滤波电路