无法在 JMeter 4.0 中启动从站
Unable to launch slave in JMeter 4.0
我想在 Windows OS 的 JMeter 4.0 中设置 JMeter Master Slave。
我在 jmeter-server 文件中做了以下更改。
RMI_HOST_DEF=-Djava.rmi.server.hostname=10.304.61.62
为了启动从机,我从 bin 文件夹中执行以下命令
jmeter-server
这在 JMeter 3.1 中有效。但在 JMeter 4.0
中出现以下错误
ERROR o.a.j.JMeter: An error occurred:
java.rmi.server.ExportException: 监听端口 0 失败;嵌套异常是:
java.io.FileNotFoundException: rmi_keystore.jks (系统找不到指定的文件)
在
sun.rmi.transport.tcp.TCPTransport.listen(来源不明)~[?:1.8.0_181]
在 sun.rmi.transport.tcp.TCPTransport.exportObject(未知来源)~[?:1.8.0_181]
在 sun.rmi.transport.tcp.TCPEndpoint.exportObject(未知来源)~[?:1.8.0_181]
在 sun.rmi.transport.LiveRef.exportObject(未知来源)~[?:1.8.0_181]
在
sun.rmi.server.UnicastServerRef.exportObject(来源不明)~[?:1.8.0_181]
在 java.rmi.server.UnicastRemoteObject.exportObject(未知来源)~[?:1.8.0_181]
在 java.rmi.server.UnicastRemoteObject.exportObject(未知来源)~[?:1.8.0_181]
在 java.rmi.server.UnicastRemoteObject.(未知来源)~[?:1.8.0_181]
在
org.apache.jmeter.engine.RemoteJMeterEngineImpl.(RemoteJMeterEngineImpl.java:65) ~[ApacheJMeter_core.jar:4.0 r1823414]
在 org.apache.jmeter.engine.RemoteJMeterEngineImpl.startServer(RemoteJMeterEngineImpl.java:71) ~[ApacheJMeter_core.jar:4.0 r1823414]
在 org.apache.jmeter.JMeter.start(JMeter.java:501) [ApacheJMeter_core.jar:4.0 r1823414]
在 sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)~[?:1.8.0_181]
在 sun.reflect.NativeMethodAccessorImpl.invoke(未知
来源)~[?:1.8.0_181]
在 sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)~[?:1.8.0_181]
at org.apache.jmeter.NewDriver.main(NewDriver.java:245) [ApacheJMeter.jar:4.0 r1823414]
原因:java.io.FileNotFoundException:rmi_keystore.jks(系统找不到指定的文件)
at java.io.FileInputStream.open0(Native Method) ~[?:1.8.0_181]
at java.io.FileInputStream.open(Unknown Source) ~[?:1.8.0_181]
at java.io.FileInputStream.<init>(Unknown Source) ~
[?:1.8.0_181]
at java.io.FileInputStream.<init>(Unknown Source) ~[?:1.8.0_181]
at org.apache.jmeter.rmi.SSLRMIServerSocketFactory.loadStore(SSLRMIServerSocketFactory.java:148) ~
[ApacheJMeter_core.jar:4.0 r1823414]
at org.apache.jmeter.rmi.SSLRMIServerSocketFactory.createServerSocket(SSLRMIServerSocketFactory.java:100) ~[ApacheJMeter_core.jar:4.0
r1823414]
at sun.rmi.transport.tcp.TCPEndpoint.newServerSocket(Unknown Source) ~[?:1.8.0_181]
... 16 more
根据 Setting Up SSL chapter of the Remote Testing JMeter 用户手册条目,您需要执行以下操作之一:
如果你想在主从之间使用安全通信,你需要启动 create-rmi-keystore
脚本(它位于 JMeter 安装的 "bin" 文件夹中) - 它会产生所需的 rmi_keystore.jks
文件。
如果你don't want to use secure communication在master和slave之间你可以添加下一行到user.properties file
server.rmi.ssl.disable=true
需要重新启动 JMeter 才能选择 属性
无论采用哪种方法,您都必须在主服务器和 所有从服务器上实施 1 或 2
以上答案基于JMeter Distributed Testing with Docker篇文章。
我想在 Windows OS 的 JMeter 4.0 中设置 JMeter Master Slave。 我在 jmeter-server 文件中做了以下更改。
RMI_HOST_DEF=-Djava.rmi.server.hostname=10.304.61.62
为了启动从机,我从 bin 文件夹中执行以下命令
jmeter-server
这在 JMeter 3.1 中有效。但在 JMeter 4.0
中出现以下错误ERROR o.a.j.JMeter: An error occurred:
java.rmi.server.ExportException: 监听端口 0 失败;嵌套异常是: java.io.FileNotFoundException: rmi_keystore.jks (系统找不到指定的文件) 在 sun.rmi.transport.tcp.TCPTransport.listen(来源不明)~[?:1.8.0_181] 在 sun.rmi.transport.tcp.TCPTransport.exportObject(未知来源)~[?:1.8.0_181] 在 sun.rmi.transport.tcp.TCPEndpoint.exportObject(未知来源)~[?:1.8.0_181] 在 sun.rmi.transport.LiveRef.exportObject(未知来源)~[?:1.8.0_181] 在 sun.rmi.server.UnicastServerRef.exportObject(来源不明)~[?:1.8.0_181] 在 java.rmi.server.UnicastRemoteObject.exportObject(未知来源)~[?:1.8.0_181] 在 java.rmi.server.UnicastRemoteObject.exportObject(未知来源)~[?:1.8.0_181] 在 java.rmi.server.UnicastRemoteObject.(未知来源)~[?:1.8.0_181] 在 org.apache.jmeter.engine.RemoteJMeterEngineImpl.(RemoteJMeterEngineImpl.java:65) ~[ApacheJMeter_core.jar:4.0 r1823414] 在 org.apache.jmeter.engine.RemoteJMeterEngineImpl.startServer(RemoteJMeterEngineImpl.java:71) ~[ApacheJMeter_core.jar:4.0 r1823414] 在 org.apache.jmeter.JMeter.start(JMeter.java:501) [ApacheJMeter_core.jar:4.0 r1823414] 在 sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)~[?:1.8.0_181] 在 sun.reflect.NativeMethodAccessorImpl.invoke(未知 来源)~[?:1.8.0_181] 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)~[?:1.8.0_181]
at org.apache.jmeter.NewDriver.main(NewDriver.java:245) [ApacheJMeter.jar:4.0 r1823414]
原因:java.io.FileNotFoundException:rmi_keystore.jks(系统找不到指定的文件)
at java.io.FileInputStream.open0(Native Method) ~[?:1.8.0_181]
at java.io.FileInputStream.open(Unknown Source) ~[?:1.8.0_181]
at java.io.FileInputStream.<init>(Unknown Source) ~
[?:1.8.0_181]
at java.io.FileInputStream.<init>(Unknown Source) ~[?:1.8.0_181]
at org.apache.jmeter.rmi.SSLRMIServerSocketFactory.loadStore(SSLRMIServerSocketFactory.java:148) ~
[ApacheJMeter_core.jar:4.0 r1823414]
at org.apache.jmeter.rmi.SSLRMIServerSocketFactory.createServerSocket(SSLRMIServerSocketFactory.java:100) ~[ApacheJMeter_core.jar:4.0
r1823414]
at sun.rmi.transport.tcp.TCPEndpoint.newServerSocket(Unknown Source) ~[?:1.8.0_181]
... 16 more
根据 Setting Up SSL chapter of the Remote Testing JMeter 用户手册条目,您需要执行以下操作之一:
如果你想在主从之间使用安全通信,你需要启动
create-rmi-keystore
脚本(它位于 JMeter 安装的 "bin" 文件夹中) - 它会产生所需的rmi_keystore.jks
文件。如果你don't want to use secure communication在master和slave之间你可以添加下一行到user.properties file
server.rmi.ssl.disable=true
需要重新启动 JMeter 才能选择 属性
无论采用哪种方法,您都必须在主服务器和 所有从服务器上实施 1 或 2
以上答案基于JMeter Distributed Testing with Docker篇文章。