kafka的kafka-console-consumer.sh和kafka-console-producer.sh如何使用

一、两款工具对比

功能用途

kafka - console - consumer.sh 是简单的命令行消费者工具,主要用于在控制台显示从Kafka主题消费的消息,适用于测试生产者是否正常发送消息、查看消息格式等调试场景。kafka - consumer - perf - test.sh 则专为测试Kafka消费者性能设计,能在指定条件下(如消息数量、线程数等)测试消费者吞吐量等性能指标,帮助进行性能评估、优化及容量规划。

参数设置

kafka - console - consumer.sh 参数简洁,主要有连接集群地址(--bootstrap - servers)、消费主题(--topic)、消费者组ID(--group)、是否从最早消息消费(--from - beginning)等。kafka - consumer - perf - test.sh 参数更丰富,除基本的集群地址、主题参数外,还有消费消息数量(--messages)、并发线程数(--threads)、报告间隔时间(--reporting - interval)、超时时间(--timeout)、是否显示详细统计信息(--show - detailed - stats)等,用于精确控制性能测试条件。

输出结果

kafka - console - consumer.sh 将消费的消息内容逐行输出,直观展示消息数据。kafka - consumer - perf - test.sh 输出每秒消费消息数、每秒消费数据量、平均延迟、最大延迟等性能指标,量化评估消费者性能。

二、使用SCRAM - ACL认证连接集群

集群端配置

  1. 开启SASL认证 :在 server.properties 中配置 listenerssecurity.inter.broker.protocolsasl.mechanism.inter.broker.protocolsasl.enabled.mechanisms 等属性,如 listeners=SASL_PLAINTEXT://your_host:your_port 等,启用SASL/SCRAM认证。
  2. 创建用户并设置密码 :使用 kafka - configs.sh 脚本创建用户并设置密码,如 kafka - configs.sh --bootstrap - servers your_bootstrap_servers --alter --add - config 'password=your_password' --entity - type users --entity - name your_username
  3. 配置ACL策略 :运用 kafka - acl.sh 脚本配置ACL策略,如 kafka - acl.sh --bootstrap - servers your_bootstrap_servers --add --allow - principals User:your_username --topic your_topic --consumer --read,为用户授予主题读权限。

工具使用配置

  • kafka - console - consumer.sh :运行时通过参数指定SASL配置和连接信息,如 ./kafka - console - consumer.sh --bootstrap - servers your_bootstrap_servers --topic your_topic --from - beginning --consumer.config <(echo -e "security.protocol=SASL_PLAINTEXT\n sasl.mechanism=SCRAM - SHA - 256\n sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username='your_username' password='your_password';")
  • kafka - consumer - perf - test.sh :运行时同样指定相关配置,如 ./kafka - consumer - perf - test.sh --bootstrap - servers your_bootstrap_servers --topic your_topic --messages 100000 --threads 10 --consumer.config <(echo -e "security.protocol=SASL_PLAINTEXT\n sasl.mechanism=SCRAM - SHA - 256\n sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username='your_username' password='your_password';"),以实现通过SCRAM认证连接开启ACL的Kafka集群进行性能测试。
相关推荐
java干货1 天前
在微服务里造一个微缩版 Kafka:Spring Boot 整合 Redis Stream 全指南
spring boot·微服务·kafka
阿维的博客日记1 天前
分布式事务代码
分布式
_waylau2 天前
鸿蒙架构师修炼之道-面向对象的分布式架构
分布式·华为·架构·架构师·harmonyos·鸿蒙
Francek Chen2 天前
【大数据存储与管理】NoSQL数据库:03 NoSQL与关系数据库的比较
大数据·数据库·分布式·nosql
路飞说AI2 天前
分布式事务最佳实践:基于kafka实现的最终一致性方案
kafka
FeBaby2 天前
Java 高并发场景下 Redis 分布式锁(UUID+Lua)最佳实践
java·redis·分布式
richard_yuu2 天前
工控场景落地|分布式协调与动态重配置管理,如何实现产线不停机升级?
分布式
Devin~Y2 天前
互联网大厂Java面试:Spring Boot/Redis/Kafka/K8s 可观测 + RAG(向量检索/Agent)三轮追问实录
java·spring boot·redis·kafka·kubernetes·spring mvc·webflux
MoFe12 天前
【.net core】【RabbitMq】rabbitmq在.net core中的简单使用
分布式·rabbitmq·.netcore
路飞说AI2 天前
Kafka消息不丢失全攻略
kafka