0

Running JMeter 5.5 in distributed, master and slave mode, the following command replicates this error Command

jmeter -f -Gup=3 -Gtime=1200 -Gthreads=15 -R10.104.60.246,10.104.60.7 -GData=source.csv -n -LERROR -t script.jmx -l result.csv -Djmeter.save.saveservice.output_format=csv

I apply the following configuration in Jmeter.properties on both master and slave

#---------------------------------------------------------------------------
# Remote hosts and RMI configuration
#---------------------------------------------------------------------------

# Remote Hosts - comma delimited
#remote_hosts=127.0.0.1
#remote_hosts=localhost:1099,localhost:2010

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

# To change the port to (say) 1234:
# On the server(s)
# - set server_port=1234
# - start rmiregistry with port 1234
# On Windows this can be done by:
# SET SERVER_PORT=1234
# JMETER-SERVER
#
# On Unix:
# SERVER_PORT=1234 jmeter-server
#
# On the client:
# - set remote_hosts=server:1234

# Parameter that controls the RMI port used by RemoteSampleListenerImpl (The Controller)
# Default value is 0 which means port is randomly assigned
# You may need to open Firewall port on the Controller machine
#client.rmi.localport=0

# When distributed test is starting, there may be several attempts to initialize
# remote engines. By default, only single try is made. Increase following property
# to make it retry for additional times
client.tries=6

# If there is initialization retries, following property sets delay between attempts
client.retries_delay=10000

# When all initialization tries was made, test will fail if some remote engines are failed
# Set following property to true to ignore failed nodes and proceed with test
client.continue_on_fail=true

# To change the default port (1099) used to access the server:
#server.rmi.port=1234

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

# The jmeter server creates by default the RMI registry as part of the server process.
# To stop the server creating the RMI registry:
#server.rmi.create=false

# Define the following property to cause JMeter to exit after the first test
#server.exitaftertest=true

#
# Configuration of Secure RMI connection
#
# 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
#
# Type of truststore : JKS
#server.rmi.ssl.truststore.type=JKS
#
# Keystore file that contains certificate
#server.rmi.ssl.truststore.file=rmi_keystore.jks
#
# 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

console connection log

Creating summariser <summary>
2023-02-15T07:04:57.3003208Z Created the tree successfully using script.jmx
2023-02-15T07:04:57.3004130Z Configuring remote engine: 10.104.60.246
2023-02-15T07:04:57.3004748Z Using local port: 1099
2023-02-15T07:04:57.3006687Z Using remote object: UnicastRef2 [liveRef: [endpoint:[10.104.60.246:1099](remote),objID:[6bba637c:18653e2b059:-7fff, 9032198663335379476]]]
2023-02-15T07:04:57.3008029Z Configuring remote engine: 10.104.60.7
2023-02-15T07:04:57.3009445Z Using remote object: UnicastRef2 [liveRef: [endpoint:[10.104.60.7:1099](remote),objID:[-484801ae:18653e2a54f:-7fff, 3605628237727967827]]]
2023-02-15T07:04:57.3015525Z Starting distributed test with remote engines: [10.104.60.246, 10.104.60.7] @ 2023 Feb 15 02:04:43 COT (1676444683410)
2023-02-15T07:04:57.3018176Z An error occurred: Receiver class org.apache.jmeter.engine.RemoteJMeterEngineImpl_Stub does not define or inherit an implementation of the resolved method 'abstract void rsetProperties(java.util.HashMap)' of interface org.apache.jmeter.engine.RemoteJMeterEngine.

Configuration Machine S.O: Amazon Linux 2 Java Versión: java-11-amazon-corretto.x86_64

Doing the same configuration in JMeter 5.0 works correctly

1 Answers1

0

If you're trying to use JMeter 5.5 master with JMeter 5.0 slaves - it won't work, you need to have the same JMeter versions everywhere.

The same applies to plugins, dependency .jar files, test data files, etc. Master only passes the .jmx test plan to slaves, everything else needs to be installed and/or copied manually.

More information: How to Perform Distributed Testing in JMeter

Dmitri T
  • 159,985
  • 5
  • 83
  • 133