• Kafka - topic producer consumer 常用命令


    Kafka常用命令

    Topic相关

    创建topic

    bin/kafka-topics.sh --create --zookeeper  node02:2181 --replication-factor 1 --partitions 1 --topic test
    
    • 1

    kafka3.3.1新版本就会提示不兼容,需要改用新版本

    
    Exception in thread "main" joptsimple.UnrecognizedOptionException: zookeeper is not a recognized option
            at joptsimple.OptionException.unrecognizedOption(OptionException.java:108)
            at joptsimple.OptionParser.handleLongOptionToken(OptionParser.java:510)
            at joptsimple.OptionParserState$2.handleArgument(OptionParserState.java:56)
            at joptsimple.OptionParser.parse(OptionParser.java:396)
            at kafka.admin.TopicCommand$TopicCommandOptions.(TopicCommand.scala:567)
            at kafka.admin.TopicCommand$.main(TopicCommand.scala:47)
            at kafka.admin.TopicCommand.main(TopicCommand.scala)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    bin/kafka-topics.sh --create --bootstrap-server node02:9092 --replication-factor 1 --partitions 1 --topic test
    
    • 1

    创建多分区 副本topic

    bin/kafka-topics.sh --create --bootstrap-server node02:9092 --replication-factor 1 --partitions 2 --topic test
    
    • 1

    查看topic

    bin/kafka-topics.sh --list  --bootstrap-server node02:9092 
    
    • 1

    查看指定topic信息

    bin/kafka-topics.sh --describe --bootstrap-server node02:9092  --topic test
    
    • 1

    在这里插入图片描述可以进入kafka的数据文件存储目录查看test和test1主题的消息日志文件:默认log目录 /tmp/kafka-logs
    在这里插入图片描述
    消息日志文件主要存放在分区文件夹里的以log结尾的日志文件里,如下是test-1主题对应的分区0的消息日志:
    在这里插入图片描述

    leader节点负责给定partition的所有读写请求。
    replicas 表示某个partition在哪几个broker上存在备份。不管这个几点是不是”leader“,甚至这个节点挂了,也会列出。
    isr 是replicas的一个子集,它只列出当前还存活着的,并且已同步备份了该partition的节点。
    
    • 1
    • 2
    • 3

    删除主题

     bin/kafka-topics.sh --delete --topic test  --bootstrap-server node02:9092 
    
    • 1

    更新主题

    bin/kafka-topics.sh -alter --partitions 1  --bootstrap-server node02:9092  --topic test
    
    • 1

    这个partition分区只能是增加分区,不可以降低,否则报错

    
    Error while executing topic command : Topic currently has 2 partitions, which is higher than the requested 1.
    [2022-12-03 20:45:18,531] ERROR org.apache.kafka.common.errors.InvalidPartitionsException: Topic currently has 2 partitions, which is higher than the requested 1.
    
    
    • 1
    • 2
    • 3
    • 4
    参数描述
    –bootstrap-server 连接的 Kafka Broker 主机名称和端口号。
    –topic 操作的 topic 名称。
    –create创建主题。
    –delete删除主题。
    –alter修改主题
    –list查看所有主题
    –describe查看主题详细描述
    –partitions 设置分区数
    –replication-factor设置分区副本
    –config 更新系统默认的配置。

    producer发送消息

    bin/kafka-console-producer.sh --broker-list node02:9092 --topic test 
    
    • 1
    参数描述
    –bootstrap-server 连接的 Kafka Broker 主机名称和端口号
    –topic 操作的topic

    consumer消费消息

    bin/kafka-console-consumer.sh --bootstrap-server node02:9092 --topic test   
    
    • 1

    如果想要消费之前的消息可以通过–from-beginning参数指定,如下命令:

    bin/kafka-console-consumer.sh --bootstrap-server node02:9092 --from-beginning --topic test 
    
    • 1

    消费多主题

    bin/kafka-console-consumer.sh --bootstrap-server node02:9092 --whitelist "test|test-2"
    
    • 1

    同一个消费组下的消费者,只能有一个消费者消费到topic下的消息

    设置消费组消息消息,单播消费

    bin/kafka-console-consumer.sh --bootstrap-server node02:9092  --consumer-property group.id=testGroup --topic test 
    
    • 1

    多播消费,如消费订阅,不同消费组下的消费者可以消费同一topic下的同一条消息

    bin/kafka-console-consumer.sh --bootstrap-server node02:9092 --consumer-property group.id=testGroup-2 --topic test 
    
    • 1

    列出消费组列表

    bin/kafka-consumer-groups.sh --bootstrap-server node02:9092 --list
    
    • 1

    查看消费组,消费信息的消费偏移信息

    bin/kafka-consumer-groups.sh --bootstrap-server node02:9092 --describe --group testGroup
    
    • 1

    在这里插入图片描述

    current-offset:当前消费组的已消费偏移量
    log-end-offset:主题对应分区消息的结束偏移量(HW)
    lag:当前消费组未消费的消息数
    
    • 1
    • 2
    • 3
    参数描述
    –bootstrap-server 连接的 Kafka Broker 主机名称和端口号
    –topic 操作的 topic 名称
    –from-beginning从头开始消费
    –group 指定消费者组名称。
  • 相关阅读:
    【计组】为什么计算机采用补码进行运算?
    Redis_哨兵模式配置文件详解
    系统集成项目管理工程师认证高频考点:编制项目范围管理计划
    net-java-php-python-中小学生在线作业网络设计计算机毕业设计程序
    C Primer Plus(6) 中文版 第6章 C控制语句:循环 6.5 for循环
    Ubuntu 安装 Docker 的详细步骤
    MSNs-SS-siRNA二氧化硅-二硫键-核酸RNA|HA-SS-siRNA,hyaluronic acid透明质酸修饰RNA(RNA修饰剂)
    行测解题笔记完整版
    『精华文稿』基于NeRF的三维内容生成
    RapidMiner数据挖掘4 —— 决策树
  • 原文地址:https://blog.csdn.net/huanglu0314/article/details/128165037