在分布式模式下打开JMeter

vlurs2pr  于 2023-01-30  发布在  其他
关注(0)|答案(2)|浏览(154)

我无法在"服务器模式"下打开JMeter。我已执行了以下步骤。
重现步骤:
1.打开cmd
1.要在服务器模式下打开JMeter,请运行bat文件bin\jmeter-server.bat。
预期结果:JMeter应该以服务器模式启动。
实际结果:

Problem URL:
    ... Trying JMETER_HOME=..
    Found ApacheJMeter_core.jar
    Sep 12, 2018 1:33:34 PM java.util.prefs.WindowsPreferences <init>
    WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.
    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
    Press any key to continue . . .

C:\Users\rozeena.ibrahim>d:

D:\>cd apache-jmeter-4.0

D:\apache-jmeter-4.0>cd bin

D:\apache-jmeter-4.0\bin>jmeter-server.bat
Could not find ApacheJmeter_core.jar ...
... Trying JMETER_HOME=..
Found ApacheJMeter_core.jar
Sep 12, 2018 1:34:12 PM java.util.prefs.WindowsPreferences <init>
WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.
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
Press any key to continue . . .
7kqas0il

7kqas0il1#

这不是一个bug,因为JMeter 4.0主服务器和从服务器之间的通信是安全的(可能是为了防止可能的入侵者拦截JMeter.jtl结果文件,并防止他们看到您的系统性能指标后笑死),所以您需要首先在主服务器和所有从服务器上使用create-rmi-keystore.bat生成密钥库。
或者,您可以禁用这一功能,并通过向 * user. properties * 文件添加下一行来恢复到以前的JMeter行为:

server.rmi.ssl.disable=true
  • 需要在所有计算机上执行此操作
  • 需要重新启动JMeter才能拾取属性
  • 如果您只想更改一次,则更改将是永久性的-最好通过-J命令行参数传递该属性,例如:
jmeter-server.bat -Jserver.rmi.ssl.disable=true

更多信息:

r1zk6ea1

r1zk6ea12#

如果你只想在NON GUI模式下运行jmeter,那么可以这样做:
jmeter -n -t jmxplan -l结果.csv
但是如果你真的想使用分布式测试,那么从JMeter 4.0开始,RMI的默认传输机制将使用SSL。SSL需要密钥和证书才能工作。你必须自己创建那些密钥。你必须按照错误消息创建rmi_keystore.jks
JMeter附带了一个脚本,用于生成包含一个名为rmi的密钥(及其相应证书)的密钥库,该脚本位于bin目录中,可用于Windows系统(称为bin/create-rmi-keystore.bat)和类Unix系统(称为bin/create-rmi-keystore.sh)。
它将生成一个有效期为七天的密钥对,默认密码为“changeit”。建议从bin目录中调用它。请参阅:

  • https://jmeter.apache.org/usermanual/remote-test.html#setup_ssl
    请注意,禁用SSL模式可能会导致安全问题,因此尽管有可能,但不建议这样做

相关问题