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集群进行性能测试。
相关推荐
东阳马生架构34 分钟前
Seata源码—5.全局事务的创建与返回处理二
分布式·seata·分布式事务
张伯毅2 小时前
Flink SQL 将kafka topic的数据写到另外一个topic里面
sql·flink·kafka
掘金-我是哪吒2 小时前
分布式微服务系统架构第133集:运维服务器6年经验,高并发,大数据量系统
运维·服务器·分布式·微服务·系统架构
尘世壹俗人4 小时前
hadoop.proxyuser.代理用户.授信域 用来干什么的
大数据·hadoop·分布式
白露与泡影5 小时前
基于Mongodb的分布式文件存储实现
分布式·mongodb·wpf
追风赶月、6 小时前
【Redis】redis用作缓存和分布式锁
redis·分布式·缓存
boring_1117 小时前
Apache Pulsar 消息、流、存储的融合
分布式·后端
Will_11307 小时前
kafka调优
分布式·kafka
残花月伴13 小时前
springCloud/Alibaba常用中间件之Seata分布式事务
分布式·spring cloud·中间件
睎zyl15 小时前
Spark自定义分区器-基础
大数据·分布式·spark