java.io.FileNotFoundException: rmi_keystroke.jks error for the Jmeter 4.0 Master and Slave testing

1,431 views
Skip to first unread message

surendra matta

unread,
Sep 5, 2018, 9:06:48 PM9/5/18
to jmeter-plugins
Hi 

I am trying to configure the Jmeter 4.0 Master and Slave but whenever I kick off the Distributed load test i'm getting below error 

"Exception creating connection to : xx.xxx.xxx(ip address) ; nested execption is: java.io.FileNotFoundException: rmi_keystroke.jks ( The system cannot find the  file specified)"

java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) ~[?:1.8.0_101]
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85) ~[?:1.8.0_101]
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[?:1.8.0_101]
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) ~[?:1.8.0_101]
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) ~[?:1.8.0_101]
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) ~[?:1.8.0_101]
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[?:1.8.0_101]
at java.net.Socket.connect(Socket.java:589) ~[?:1.8.0_101]
at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:542) ~[httpclient-4.5.5.jar:4.5.5]
at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:414) ~[httpclient-4.5.5.jar:4.5.5]
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180) ~[httpclient-4.5.5.jar:4.5.5]
at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:326) ~[httpclient-4.5.5.jar:4.5.5]
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:610) ~[httpclient-4.5.5.jar:4.5.5]
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:445) ~[httpclient-4.5.5.jar:4.5.5]
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835) ~[httpclient-4.5.5.jar:4.5.5]
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83) ~[httpclient-4.5.5.jar:4.5.5]
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56) ~[httpclient-4.5.5.jar:4.5.5]
at org.jmeterplugins.repository.JARSourceHTTP.execute(JARSourceHTTP.java:499) ~[jmeter-plugins-manager-1.3.jar:?]
at org.jmeterplugins.repository.JARSourceHTTP.execute(JARSourceHTTP.java:494) ~[jmeter-plugins-manager-1.3.jar:?]
at org.jmeterplugins.repository.JARSourceHTTP.getJSON(JARSourceHTTP.java:152) ~[jmeter-plugins-manager-1.3.jar:?]
at org.jmeterplugins.repository.JARSourceHTTP.getRepositories(JARSourceHTTP.java:276) ~[jmeter-plugins-manager-1.3.jar:?]
at org.jmeterplugins.repository.JARSourceHTTP.getRepo(JARSourceHTTP.java:304) ~[jmeter-plugins-manager-1.3.jar:?]
at org.jmeterplugins.repository.PluginManager.load(PluginManager.java:71) ~[jmeter-plugins-manager-1.3.jar:?]
at org.jmeterplugins.repository.PluginManagerMenuItem$1.run(PluginManagerMenuItem.java:41) [jmeter-plugins-manager-1.3.jar:?]

ERROR o.a.j.e.DistributedRunner: Failed to create engine at xx.xxx.xx.xx
java.rmi.ConnectIOException: Exception creating connection to: xx.xxx.xx.xx; nested exception is: 
java.io.FileNotFoundException: rmi_keystore.jks (The system cannot find the file specified)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:631) ~[?:1.8.0_101]
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216) ~[?:1.8.0_101]
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202) ~[?:1.8.0_101]
at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:342) ~[?:1.8.0_101]
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source) ~[?:1.8.0_101]
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 java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) [?:1.8.0_101]
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756) [?:1.8.0_101]
at java.awt.EventQueue.access$500(EventQueue.java:97) [?:1.8.0_101]
at java.awt.EventQueue$3.run(EventQueue.java:709) [?:1.8.0_101]
at java.awt.EventQueue$3.run(EventQueue.java:703) [?:1.8.0_101]
at java.security.AccessController.doPrivileged(Native Method) [?:1.8.0_101]
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) [?:1.8.0_101]
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726) [?:1.8.0_101]
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) [?:1.8.0_101]
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) [?:1.8.0_101]
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) [?:1.8.0_101]
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) [?:1.8.0_101]
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) [?:1.8.0_101]
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) [?:1.8.0_101]
Caused by: java.io.FileNotFoundException: rmi_keystore.jks (The system cannot find the file specified)
at java.io.FileInputStream.open0(Native Method) ~[?:1.8.0_101]
at java.io.FileInputStream.open(FileInputStream.java:195) ~[?:1.8.0_101]
at java.io.FileInputStream.<init>(FileInputStream.java:138) ~[?:1.8.0_101]
at java.io.FileInputStream.<init>(FileInputStream.java:93) ~[?:1.8.0_101]
at org.apache.jmeter.rmi.SSLRMIClientSocketFactory.loadStore(SSLRMIClientSocketFactory.java:125) ~[ApacheJMeter_core.jar:4.0 r1823414]
at org.apache.jmeter.rmi.SSLRMIClientSocketFactory.createSocket(SSLRMIClientSocketFactory.java:83) ~[ApacheJMeter_core.jar:4.0 r1823414]
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613) ~[?:1.8.0_101]
... 26 more
2018-09-05 20:49:48,256 INFO o.a.j.e.DistributedRunner: Failed to configure xx.xxx.xx.xx
2018-09-05 20:49:48,256 INFO o.a.j.e.DistributedRunner: Stopping remote engines
2018-09-05 20:49:48,256 INFO o.a.j.e.DistributedRunner: Remote engines have been stopped
2018-09-05 20:49:48,257 ERROR o.a.j.g.a.ActionRouter: Error processing org.apache.jmeter.gui.action.RemoteStart@245e1
java.lang.RuntimeException: Following remote engines could not be configured:[10.240.243.220]
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 java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) [?:1.8.0_101]
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756) [?:1.8.0_101]
at java.awt.EventQueue.access$500(EventQueue.java:97) [?:1.8.0_101]
at java.awt.EventQueue$3.run(EventQueue.java:709) [?:1.8.0_101]
at java.awt.EventQueue$3.run(EventQueue.java:703) [?:1.8.0_101]
at java.security.AccessController.doPrivileged(Native Method) [?:1.8.0_101]
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) [?:1.8.0_101]
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726) [?:1.8.0_101]
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) [?:1.8.0_101]
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) [?:1.8.0_101]
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) [?:1.8.0_101]
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) [?:1.8.0_101]
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) [?:1.8.0_101]
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) [?:1.8.0_101]

I Created the rmi_keystroke.jks by using the "create-rmi-keystore.bat" and I placed this file in the folder <jmeter path>/bin  for both master and slave but still I'm getting the issue. And also I enable the below options too 

# RMI port to be used by the server (must start rmiregistry with same port)
server_port=1099

# To use a specific port for the JMeter server engine, define
# the following property before starting the server:
server.rmi.localport=4000

# Type of keystore : JKS
server.rmi.ssl.keystore.type=JKS
#
# Keystore file that contains private key
server.rmi.ssl.keystore.file=rmi_keystore.jks
#
# Password of Keystore
server.rmi.ssl.keystore.password=changeit
#
# Key alias
server.rmi.ssl.keystore.alias=rmi

if anyone has the solution to resolve this, please reply the solution here.

Regards,
Venkat

PMD

unread,
Sep 6, 2018, 4:57:42 PM9/6/18
to jmeter-plugins
Hello,
You need to run this and deploy the created file on all servers involved:
  •  create-rmi-keystore.sh / .bat to create this file rmi_keystroke.jks

This appeared in 4.0 version and  is used to secure the RMI connection between client and servers.

Regards
Philippe M.

surendra matta

unread,
Sep 7, 2018, 9:30:56 AM9/7/18
to jmeter-plugins
Hi 

I tried this but still, I'm getting the same error

Regards,
Venkat

er.san...@gmail.com

unread,
Mar 12, 2019, 6:01:18 AM3/12/19
to jmeter-plugins
Hi All,

I have faced the issue java.io.filenotfoundexception rmi keystore.jks error in jmeter in distributed load testing.

Solution : 

Open the jmeter.properties file on the master and uncomment the following line and set server.rmi.ssl.disable = true.

# Password of Trust store

server.rmi.ssl.truststore.password=changeit


# Set this if you don't want to use SSL for RMI

server.rmi.ssl.disable=true


its working fine for me.

Best Regards,
Sanjeev

balj...@gmail.com

unread,
Apr 20, 2020, 6:54:25 PM4/20/20
to jmeter-plugins
I am facing same issue, did you got any solution?
Reply all
Reply to author
Forward
0 new messages