一,介绍

openmessaging-benchmark可以方便的对kafka等分布式消息系统进行测试。
参考官网:http://openmessaging.cloud/docs/benchmarks

二,安装

 git clone https://github.com/openmessaging/openmessaging-benchmark
 cd openmessaging-benchmark
 mvn install   

如果插件无法下载可以在pom.xml文件中将相应的插件注释掉。

三,使用

不带kerberos的Kafka

修改driver-kafka/kafka.yaml 中的bootstrap.servers 值为自己的kafka地址即可。
执行命令启动任务:

bin/benchmark \
  --drivers driver-kafka/kafka.yaml \
  workloads/1-topic-16-partitions-1kb.yaml

带kerberos 的kafka

1, 修改bin/benchmark 文件,通过 Java -D 设置包含认证信息的jaas文件。
-Djava.security.auth.login.config=/opt/openmessaging-benchmark/ker/jaas.conf

if [ -d "./lib" ]; then
        CLASSPATH=$CLASSPATH:lib/*
else
    CLASSPATH=benchmark-framework/target/classes:`cat benchmark-framework/target/classpath.txt`
fi

JVM_MEM="-Xms4G -Xmx4G -XX:+UseG1GC"
JVM_GC_LOG=" -XX:+PrintGCDetails -XX:+PrintGCApplicationStoppedTime  -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=64m  -Xloggc:/dev/shm/benchmark-client-gc_
%p.log"

java -Djava.security.auth.login.config=/opt/openmessaging-benchmark/ker/jaas.conf -server -cp $CLASSPATH $JVM_MEM io.openmessaging.benchmark.Benchmark $*

2, 修改 driver-kafka/kafka.yaml 文件在其中加入kerberos相关配置。

name: Kafka_hdf
driverClass: io.openmessaging.benchmark.driver.kafka.KafkaBenchmarkDriver

# Kafka client-specific configuration
replicationFactor: 3

topicConfig: |
  min.insync.replicas=1

commonConfig: |
  bootstrap.servers=${broker_list}
  security.protocol=SASL_PLAINTEXT

producerConfig: |
  acks=all
  linger.ms=1
  batch.size=131072
  security.protocol=SASL_PLAINTEXT
  connections.max.idle.ms = 300000
consumerConfig: |
  auto.offset.reset=earliest
  enable.auto.commit=false
  security.protocol=SASL_PLAINTEXT

Logo

Kafka开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐