JMeter 4-无法在Windows 7中执行jmeter-server [英] JMeter 4 - can't execute jmeter-server in windows 7
问题描述
我下载了最新的JMeter 4,
I download latest JMeter 4,
作为远程测试
要在远程节点上运行JMeter,请通过运行JMETER_HOME/bin/jmeter-server(unix)或JMETER_HOME/bin/jmeter-server.bat(windows)脚本在所有要运行的计算机上启动JMeter服务器组件
To run JMeter in remote node, start the JMeter server component on all machines you wish to run on by running the JMETER_HOME/bin/jmeter-server (unix) or JMETER_HOME/bin/jmeter-server.bat (windows) script.
我尝试在Windows 7中执行jmeter-server.bat 并出现以下错误:
I try to execute jmeter-server.bat in windows 7 and got the following error:
Server failed to start: java.rmi.server.ExportException: Listen failed on port:
0; nested exception is:
java.io.FileNotFoundException: rmi_keystore.jks (The system cannot find
the file specified)
An error occurred: Listen failed on port: 0; nested exception is:
java.io.FileNotFoundException: rmi_keystore.jks (The system cannot find
the file specified)
errorlevel=1
似乎文件rmi_keystore.jks丢失. (我在JMeter文件夹中找不到它)
It seems that a file rmi_keystore.jks is missing. (I can't find it in JMeter folders)
在JMeter 3.3中,jmeter-server.bat正在运行.
In JMeter 3.3 jmeter-server.bat is working.
编辑1
执行create-rmi-keystore.bat
后,它创建了rmi_keystore.jks,但出现其他错误:
after I execute create-rmi-keystore.bat
it created rmi_keystore.jks, but I get other error:
Server failed to start: java.rmi.server.ExportException: Listen failed on port:
0; nested exception is:
java.io.IOException: java.security.UnrecoverableKeyException: Cannot rec
over key
An error occurred: Listen failed on port: 0; nested exception is:
java.io.IOException: java.security.UnrecoverableKeyException: Cannot rec
over key
errorlevel=1
日志错误:
2018-02-11 12:09:13,916 ERROR o.a.j.e.DistributedRunner: Failed to create engine at 127.0.0.1
java.rmi.ConnectIOException: Exception creating connection to: 127.0.0.1; nested exception is:
java.io.IOException: java.security.UnrecoverableKeyException: Cannot recover key
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(Unknown Source) ~[?:1.8.0_25]
at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source) ~[?:1.8.0_25]
at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source) ~[?:1.8.0_25]
at sun.rmi.server.UnicastRef.newCall(Unknown Source) ~[?:1.8.0_25]
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source) ~[?:1.8.0_25]
at org.apache.jmeter.engine.ClientJMeterEngine.getEngine(ClientJMeterEngine.java:70) ~[ApacheJMeter_core.jar:4.0 r1823414]
at org.apache.jmeter.engine.ClientJMeterEngine.<init>(ClientJMeterEngine.java:83) ~[ApacheJMeter_core.jar:4.0 r1823414]
at org.apache.jmeter.engine.DistributedRunner.createEngine(DistributedRunner.java:237) ~[ApacheJMeter_core.jar:4.0 r1823414]
at org.apache.jmeter.engine.DistributedRunner.getClientEngine(DistributedRunner.java:213) [ApacheJMeter_core.jar:4.0 r1823414]
at org.apache.jmeter.engine.DistributedRunner.init(DistributedRunner.java:93) [ApacheJMeter_core.jar:4.0 r1823414]
at org.apache.jmeter.gui.action.RemoteStart.doAction(RemoteStart.java:80) [ApacheJMeter_core.jar:4.0 r1823414]
at org.apache.jmeter.gui.action.ActionRouter.performAction(ActionRouter.java:88) [ApacheJMeter_core.jar:4.0 r1823414]
at org.apache.jmeter.gui.action.ActionRouter.lambda$actionPerformed$0(ActionRouter.java:70) [ApacheJMeter_core.jar:4.0 r1823414]
at org.apache.jmeter.gui.action.ActionRouter$$Lambda$63/2068100669.run(Unknown Source) [ApacheJMeter_core.jar:4.0 r1823414]
at java.awt.event.InvocationEvent.dispatch(Unknown Source) [?:1.8.0_25]
at java.awt.EventQueue.dispatchEventImpl(Unknown Source) [?:1.8.0_25]
at java.awt.EventQueue.access$400(Unknown Source) [?:1.8.0_25]
at java.awt.EventQueue$3.run(Unknown Source) [?:1.8.0_25]
at java.awt.EventQueue$3.run(Unknown Source) [?:1.8.0_25]
at java.security.AccessController.doPrivileged(Native Method) [?:1.8.0_25]
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) [?:1.8.0_25]
at java.awt.EventQueue.dispatchEvent(Unknown Source) [?:1.8.0_25]
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) [?:1.8.0_25]
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) [?:1.8.0_25]
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) [?:1.8.0_25]
at java.awt.EventDispatchThread.pumpEvents(Unknown Source) [?:1.8.0_25]
at java.awt.EventDispatchThread.pumpEvents(Unknown Source) [?:1.8.0_25]
at java.awt.EventDispatchThread.run(Unknown Source) [?:1.8.0_25]
Caused by: java.io.IOException: java.security.UnrecoverableKeyException: Cannot recover key
at org.apache.jmeter.rmi.SSLRMIClientSocketFactory.createSocket(SSLRMIClientSocketFactory.java:110) ~[ApacheJMeter_core.jar:4.0 r1823414]
... 28 more
Caused by: java.security.UnrecoverableKeyException: Cannot recover key
at sun.security.provider.KeyProtector.recover(Unknown Source) ~[?:1.8.0_25]
at sun.security.provider.JavaKeyStore.engineGetKey(Unknown Source) ~[?:1.8.0_25]
at sun.security.provider.JavaKeyStore$JKS.engineGetKey(Unknown Source) ~[?:1.8.0_25]
at java.security.KeyStore.getKey(Unknown Source) ~[?:1.8.0_25]
at sun.security.ssl.SunX509KeyManagerImpl.<init>(Unknown Source) ~[?:1.8.0_25]
at sun.security.ssl.KeyManagerFactoryImpl$SunX509.engineInit(Unknown Source) ~[?:1.8.0_25]
at javax.net.ssl.KeyManagerFactory.init(Unknown Source) ~[?:1.8.0_25]
at org.apache.jmeter.rmi.SSLRMIClientSocketFactory.createSocket(SSLRMIClientSocketFactory.java:103) ~[ApacheJMeter_core.jar:4.0 r1823414]
... 28 more
2018-02-11 12:09:24,368 INFO o.a.j.e.DistributedRunner: Failed to configure 127.0.0.1
2018-02-11 12:09:24,369 INFO o.a.j.e.DistributedRunner: Stopping remote engines
2018-02-11 12:09:24,370 INFO o.a.j.e.DistributedRunner: Remote engines have been stopped
2018-02-11 12:09:24,370 ERROR o.a.j.g.a.ActionRouter: Error processing org.apache.jmeter.gui.action.RemoteStart@3249a1ce
java.lang.RuntimeException: Following remote engines could not be configured:[127.0.0.1]
at org.apache.jmeter.engine.DistributedRunner.init(DistributedRunner.java:112) ~[ApacheJMeter_core.jar:4.0 r1823414]
at org.apache.jmeter.gui.action.RemoteStart.doAction(RemoteStart.java:80) ~[ApacheJMeter_core.jar:4.0 r1823414]
at org.apache.jmeter.gui.action.ActionRouter.performAction(ActionRouter.java:88) [ApacheJMeter_core.jar:4.0 r1823414]
at org.apache.jmeter.gui.action.ActionRouter.lambda$actionPerformed$0(ActionRouter.java:70) [ApacheJMeter_core.jar:4.0 r1823414]
at org.apache.jmeter.gui.action.ActionRouter$$Lambda$63/2068100669.run(Unknown Source) [ApacheJMeter_core.jar:4.0 r1823414]
at java.awt.event.InvocationEvent.dispatch(Unknown Source) [?:1.8.0_25]
at java.awt.EventQueue.dispatchEventImpl(Unknown Source) [?:1.8.0_25]
at java.awt.EventQueue.access$400(Unknown Source) [?:1.8.0_25]
at java.awt.EventQueue$3.run(Unknown Source) [?:1.8.0_25]
at java.awt.EventQueue$3.run(Unknown Source) [?:1.8.0_25]
at java.security.AccessController.doPrivileged(Native Method) [?:1.8.0_25]
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) [?:1.8.0_25]
at java.awt.EventQueue.dispatchEvent(Unknown Source) [?:1.8.0_25]
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) [?:1.8.0_25]
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) [?:1.8.0_25]
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) [?:1.8.0_25]
at java.awt.EventDispatchThread.pumpEvents(Unknown Source) [?:1.8.0_25]
at java.awt.EventDispatchThread.pumpEvents(Unknown Source) [?:1.8.0_25]
at java.awt.EventDispatchThread.run(Unknown Source) [?:1.8.0_25]
编辑2
我试图将server.rmi.ssl.keystore.password
更改为我写的密码,但出现了另一个错误
I tried to change server.rmi.ssl.keystore.password
to password I wrote but got a different error
Server failed to start: java.rmi.server.ExportException: Listen failed on port:
0; nested exception is:
java.io.IOException: Keystore was tampered with, or password was incorre
ct
An error occurred: Listen failed on port: 0; nested exception is:
java.io.IOException: Keystore was tampered with, or password was incorre
ct
编辑3
我尝试根据参考手动设置服务器端口SET SERVER_PORT=1099
但仍尝试通过端口0进行监听
I tried to set the server port manually SET SERVER_PORT=1099
according to reference but still trying to listen through port 0
在Windows上,可以通过以下方式完成此操作: SET SERVER_PORT =
On Windows this can be done by: SET SERVER_PORT=
推荐答案
要解决此问题,您需要执行以下操作:
To solve issue, you need to follow:
问题是执行create-rmi-keystore
您的名字和姓氏是什么?
What is your first and last name?
我应该已经回答rmi
,因为它是JMeter属性server.rmi.ssl.keystore.alias
I should have answered rmi
as it the default value in JMeter's property server.rmi.ssl.keystore.alias
也(与JMeter 3.3有所不同),我需要更改JMeter的属性remote_hosts
,以便它使用我的主机名(从127.0.0.1更改)
Also (difference from JMeter 3.3) I needed to change JMeter's property remote_hosts
so that it uses my host name (change from 127.0.0.1)
这与:
这篇关于JMeter 4-无法在Windows 7中执行jmeter-server的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!