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集群进行性能测试。
相关推荐
kruptos4 小时前
分布式系统怎么“选主“?Raft 共识一次讲清
开发语言·分布式·php·共识算法
小智老师PMP6 小时前
2026深度解析|PMP第八版与NPDP核心侧重点本质区别(管理类证书怎么选)
开发语言·分布式·算法·职场和发展·产品经理
会周易的程序员8 小时前
5Draft(五帝)测试报告
服务器·c++·分布式·raft·共识算法·共识·算力服务器
想要打 Acm 的小周同学呀14 小时前
Kafka消息队列出现挤压如何解决?
分布式·kafka
stark张宇18 小时前
分布式事务最全图解(6种方案):从强一致的2PC到最终对账,彻底搞懂数据一致性
分布式·后端
会周易的程序员18 小时前
5Draft使用说明书
服务器·c++·分布式·raft·共识
富士康质检员张全蛋18 小时前
Kafka实战 自定义分区器 几种常见的分区器
分布式·kafka
努力努力再努力wz19 小时前
【Redis入门系列】:从 RESP 协议到 redis-plus-plus:Redis 客户端编程与 C++ 接口设计
开发语言·数据库·c++·redis·分布式·缓存·架构
starzy199019 小时前
Flink基础之Flink批流数据读取处理案例剖析:从文件到 Kafka 的完整代码
大数据·flink·kafka
青禾83720 小时前
Git 与 SVN 完全指南:从集中式到分布式的版本控制
分布式·git·svn