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集群进行性能测试。
相关推荐
indexsunny5 小时前
互联网大厂Java面试实战:Spring Boot与微服务在电商场景的应用解析
java·spring boot·redis·微服务·kafka·gradle·maven
回家路上绕了弯5 小时前
定期归档历史数据实战指南:从方案设计到落地优化
分布式·后端
rchmin6 小时前
Distro与Raft协议对比分析
分布式·cap
小辉笔记6 小时前
kafka原理总结
分布式·kafka
实战项目6 小时前
分布式协作入侵检测系统的报警信息管理
分布式
无心水9 小时前
【分布式利器:腾讯TSF】10、TSF故障排查与架构评审实战:Java架构师从救火到防火的生产哲学
java·人工智能·分布式·架构·限流·分布式利器·腾讯tsf
小北方城市网20 小时前
分布式锁实战指南:从选型到落地,避开 90% 的坑
java·数据库·redis·分布式·python·缓存
范桂飓1 天前
大模型分布式训练框架 Megatron-LM
人工智能·分布式
oMcLin1 天前
如何在Debian 11上通过配置MySQL 8.0的分布式架构,提升跨区域数据同步的效率与延迟?
分布式·mysql·debian
一条咸鱼_SaltyFish1 天前
[Day15] 若依框架二次开发改造记录:定制化之旅 contract-security-ruoyi
java·大数据·经验分享·分布式·微服务·架构·ai编程