我无法用Jmeter运行Cassandra。 即使在包含Cassandra Jmeter插件的所有jar文件后,仍会显示以下错误:
Response message: javax.script.ScriptException: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
General error during class generation: java.lang.NoClassDefFoundError: Unable to load class com.datastax.driver.core.Session due to missing dependency org/apache/cassandra/transport/Message$Request
你得到的错误是关于在JMeter类路径中缺少org.apache.cassandra.transport.message类,该类可以在cassandra-all.jar中找到,但是你需要选择正确的版本以避免Jar Hell
查看 JMeter Cassandra 插件安装说明,您需要:
-
构建插件:
mvn dependency:copy-dependencies install -DexcludeGroupIds=org.apache.jmeter
-
将插件复制到 JMeter 的 "lib/ext" 文件夹:
cp -Rf ~/CassJMeter/target/CassJMeter-0.2-SNAPSHOT.jar lib/ext/
-
将所有插件的依赖项复制到 JMeter 安装的"lib"文件夹:
cp -Rf ~/CassJMeter/target/dependency/* lib/
- 重新启动 JMeter 以拾取 .jar
确保cp
命令成功,您可以通过在终端中运行echo $?
来检查其状态代码,它应该返回0
您可能还会发现以下文章很有用:
- Cassandra 负载测试与 Groovy
- 用于卡桑德拉的JMeter插件