1

我正在尝试使用 JMeter 5.1.1 进行分布式测试。我从这里使用手册,但是在指定从服务器(从)到客户端(主)的连接端口时遇到问题。当我在 master 上使用client.rmi.localportjmeter.properties,会出现以下错误:

错误 oajuJMeterUtils:rconfigure() 方法中的错误 java.rmi.MarshalException:错误编组参数;嵌套异常是:java.io.NotSerializableException: org.apache.jmeter.JMeter$ListenToTest

我能够使用其他端口进行管理,只有这个给我带来了麻烦。我正在使用非GUI模式。如何修复此/指定端口?

来自主人的日志:

[...]

错误 oajeConvertListeners: RemoteException 在替换远程项目时发生。java.rmi.server.ExportException:在端口监听失败:4453;嵌套异常是:java.io.IOException:无法使用端口 4453 绑定到 XXX/XXX.XXX.XXX.XXX

[...]

原因:java.io.IOException:无法使用 org.apache.jmeter.rmi.SSLRMIServerSocketFactory.createServerSocket(SSLRMIServerSocketFactory.java:139) 的端口 4453 绑定到 XXX/XXX.XXX.XXX.XXX ~[ApacheJMeter_core.jar: 5.1.1 r1855137] 在 sun.rmi.transport.tcp.TCPEndpoint.newServerSocket(Unknown Source) ~[?:1.8.0_231] ... 22 更多原因:java.net.BindException:地址已在使用中:JVM_Bind

[...]

错误 oajeClientJMeterEngine:rconfigure() 方法中的错误 java.rmi.MarshalException:错误编组参数;嵌套异常是:java.io.NotSerializableException: org.apache.jmeter.JMeter$ListenToTest at sun.rmi.server.UnicastRef.invoke(Unknown Source) ~[?:1.8.0_231]

[...]

主控上的 jmeter.properties:

[...]

远程主机=XXX.XXX.XXX.XXX:4454

[...]

客户端.rmi.localport=4451

[...]

jmeterengine.nongui.port=4448

[...]

编辑:由于评论中的问题,将 JMeter 更改为 5.2 版。

4

2 回答 2

0

禁用客户端和服务器之间的安全通道对我有帮助 - 我不再有这个错误并且可以指定端口。但是,我建议仅当您的环境(客户端和服务器)在专用网络中工作时才这样做。

于 2019-11-15T15:23:35.583 回答
0

这个错误:

Address already in use: JVM_Bind

清楚地表明 Java 试图使用此或另一个进程使用的特定网络端口,考虑使用netstat程序来识别持有该端口的进程,然后终止该进程或选择另一个端口。

请注意,RemoteThreadsListenerImpl使用了一些偏移量,因此实际端口将高于您通过属性指定的端口。

不幸的是,您希望在 JMeter Master 和 Slave 机器上使用哪些端口并不是很清楚,因此我只能建议您熟悉以下材料:

后者提供了使用自定义端口进行结果转发的示例。

于 2019-11-12T10:53:41.977 回答