DI-kafkaMeter发送消息错误

x4shl7ld  于 2023-03-01  发布在  Apache
关注(0)|答案(1)|浏览(243)

我使用jmeter DI-kafkaMeter向Kafka发送消息
向Kafka主题发送消息时出错:java.lang.RuntimeException:未找到Kafka Producer客户端。请检查KafkaProducerSampler中的变量名称。
信息o.a.k.c.p.Kafka制片人:[生产者客户端Id = JMeter-Producer-1]正在关闭Kafka生产者,超时时间为0毫秒。2023 - 02 - 24 16:17:12,544错误c.d.j.k.c. Kafka生产者配置:建立Kafka生产者客户端时出错!!
错误o.a.j.s.样品结果:setEndTime必须在setStartTime java. lang之后调用。可引发:无效的调用序列
向Kafka主题发送消息时出错:java.lang.RuntimeException:未找到Kafka Producer客户端。请检查KafkaProducerSampler中的变量名称。
信息o.a.k.c.p.Kafka制片人:[生产者客户端Id = JMeter-Producer-1]正在关闭Kafka生产者,超时时间为0毫秒。2023 - 02 - 24 16:17:12,544错误c.d.j.k.c. Kafka生产者配置:建立Kafka生产者客户端时出错!!
错误o.a.j.s.样品结果:setEndTime必须在setStartTime java. lang之后调用。可引发:无效的调用序列

mzsu5hc0

mzsu5hc01#

这个错误表明Sampler.sample()函数在"DI-kafkaMeter"(无论它是什么)中没有正确实现,并且您对此无能为力,除非您修复源代码中的错误,重新编译插件并将修复后的版本放到JMeter类路径中
与此同时,您可以考虑使用另一个插件,即Pepper-Box - Kafka Load Generator,或者将Kafka Java client libraries添加到JMeter的"lib"文件夹并使用JSR223 Sampler发送消息。
示例代码可在此处找到
用于JSR223采样器的简化版本:

def props = new Properties();
props.put("bootstrap.servers", "localhost:9092");
props.put("acks", "all");
props.put("retries", 0);
props.put("batch.size", 16384);
props.put("linger.ms", 1);
props.put("buffer.memory", 33554432);
props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");

def producer = new org.apache.kafka.clients.producer.KafkaProducer<>(props);

producer.send(new org.apache.kafka.clients.producer.ProducerRecord<>("your-topic", "your-key", "your-encrypted-value"));

producer.close();

更多信息:How to Do Kafka Testing With JMeter

相关问题