JMeter 3.3连接Spark 2.2.1错误:"无法创建PoolableConnectionFactory(方法不支持)"

时间:2018-04-03 03:36:46

标签: apache-spark jdbc jmeter spark-thriftserver

使用此jar列表,​​我可以成功将SQuirrel SQL连接到Spark 2.2.1:

ManifestCloud.shared.keys

我认为上述罐子不仅仅是必要的。但是当我尝试将JMeter 3.3连接到同一个Spark 2.2.1 ThriftServer时,我收到以下错误消息

commons-logging-1.1.3.jar hadoop-common-2.7.3.jar hive-exec-1.2.1.spark2.jar hive-jdbc-1.2.1.spark2.jar hive-metastore-1.2.1.spark2.jar http-client-1.0.4.jar httpclient-4.5.2.jar httpcore-4.4.4.jar libfb303-0.9.3.jar libthrift-0.9.3.jar log4j-1.2.17.jar slf4j-api-1.7.16.jar slf4j-log4j12-1.7.16.jar spark-hive-thriftserver_2.11-2.2.1.jar spark-hive_2.11-2.2.1.jar spark-network-common_2.11-2.2.1.jar

JDBC配置在这里: enter image description here

Jmeter的完整回复在这里:

enter code here Cannot create PoolableConnectionFactory (Method not supported)

我也尝试使用更新的Hive Thread Name: test 1-1 Sample Start: 2018-04-03 13:34:43 CST Load time: 511 Connect Time: 510 Latency: 0 Size in bytes: 62 Sent bytes:0 Headers size in bytes: 0 Body size in bytes: 62 Sample Count: 1 Error Count: 1 Data type ("text"|"bin"|""): text Response code: null 0 Response message: java.sql.SQLException: Cannot create PoolableConnectionFactory (Method not supported) Response headers: SampleResult fields: ContentType: text/plain DataEncoding: UTF-8 ,但显然不能在JDBC driver 2.3.0或任何其他包括Jmeter上使用Spark 2.2.1。

使用beeline与Hive JDBC驱动程序2.3.0时出现错误信息:

beeline

将JMeter连接到Spark可以做些什么呢?

2 个答案:

答案 0 :(得分:0)

很可能这是由于客户端和服务器库不匹配,您需要使用与服务器上相同的版本。

因此,请确定您的服务器上正在运行哪个版本的配置单元并下载相应的hive-jdbc jar和所有依赖项(您可以使用ie Maven Dependency Plugin检索它们)并更新JMeter Classpath中的那些使用正确的版本。

最好使用“干净”的JMeter安装来避免可能的jar地狱,所以现在是升级到JMeter 4.0的好时机

答案 1 :(得分:0)

您还可以构建自己的“ JDBC采样器”,并添加/修改原始代码中的仅几行代码以使其工作。我必须这样做是因为4年前,它在Hive和Phoenix的支持下才奏效。它需要一个当时未实现的超时方法。

以下是来源: https://github.com/csalperwyck/JMeterJDBCSamplerWithOutTimeOut