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集群进行性能测试。
相关推荐
江华森33 分钟前
XXL-JOB 分布式任务调度平台深度学习指南
分布式
Devin~Y3 小时前
从Spring Boot到AI Agent:大厂Java微服务面试三轮实战问答解析
java·spring boot·redis·spring cloud·微服务·ai·kafka
m0_736034853 小时前
ceph分布式存储
分布式·ceph
Tenifs4 小时前
深入对比分析 RabbitMQ、RocketMQ 和 Kafka
后端·kafka·消息队列·rabbitmq·rocketmq·爱编程的阿彬
冷色调的咖啡师4 小时前
1.大数据架构技术 上——搭建分布式Hadoop集群
大数据·linux·hadoop·分布式·hdfs·架构·yarn
Rick19934 小时前
Kafka、RocketMQ、RabbitMQ 三大消息队列
kafka·rabbitmq·rocketmq
坤昱20 小时前
cfs调度类深入解刨——最新内核细节分析5
linux·分布式·cfs调度·eevdf调度·linux调度·linux技术·kernel最新版本内容
AI人工智能+电脑小能手20 小时前
【大白话说Java面试题 第91题】【Mysql篇】第21题:分布式锁的使用场景和原理?
java·数据库·分布式·mysql·面试
JAVA社区20 小时前
Java高级全套教程(十三)—— 分布式锁超详细实战详解(原理+三种方案企业级落地)
java·开发语言·分布式·spring cloud·面试·java-zookeeper
Leo18721 小时前
分布式事务
java·分布式·分布式事务