【问题标题】:Jmeter 5.4.1: Distributed mode : "Connection refused to host: nested exception is: java.net.ConnectException: Connection timed out: connect"Jmeter 5.4.1:分布式模式:“连接拒绝主机:嵌套异常是:java.net.ConnectException:连接超时:连接”
【发布时间】:2021-08-12 22:54:01
【问题描述】:

我正在两个 Windows 虚拟机中使用 jmeter 5.4.1 设置分布式测试。 在从机中启动 jmeter 服务器。 jmeter.properties 文件中的以下更改(主从文件)

server.rmi.ssl.disable=true

在 master 中添加了 slave 机器 ip 并从 GUI 模式运行测试。出现连接被拒绝错误:

错误 o.a.j.e.DistributedRunner:无法在 192.168.xxx.xx java.rmi.ConnectException:连接拒绝主机:192.168.xxx.xx;嵌套异常是:java.net.ConnectException: Connection timed out: connect at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:623) ~[?:?] 在 sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:209) ~[?:?] 在 sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:196) ~[?:?] 在 sun.rmi.server.UnicastRef.newCall(UnicastRef.java:343) ~[?:?] 在 sun.rmi.registry.RegistryImpl_Stub.lookup(RegistryImpl_Stub.java:116) ~[?:?] 在 org.apache.jmeter.engine.ClientJMeterEngine.getEngine(ClientJMeterEngine.java:71) ~[ApacheJMeter_core.jar:5.4.1] 在 org.apache.jmeter.engine.ClientJMeterEngine.(ClientJMeterEngine.java:84) ~[ApacheJMeter_core.jar:5.4.1] 在 org.apache.jmeter.engine.DistributedRunner.createEngine(DistributedRunner.java:243) ~[ApacheJMeter_core.jar:5.4.1] 在 org.apache.jmeter.engine.DistributedRunner.getClientEngine(DistributedRunner.java:220) ~[ApacheJMeter_core.jar:5.4.1] 在 org.apache.jmeter.engine.DistributedRunner.init(DistributedRunner.java:92) ~[ApacheJMeter_core.jar:5.4.1] 在 org.apache.jmeter.gui.action.RemoteStart.doAction(RemoteStart.java:79) ~[ApacheJMeter_core.jar:5.4.1] 在 org.apache.jmeter.gui.action.ActionRouter.performAction(ActionRouter.java:87) ~[ApacheJMeter_core.jar:5.4.1] 在 org.apache.jmeter.gui.action.ActionRouter.lambda$actionPerformed$0(ActionRouter.java:69) ~[ApacheJMeter_core.jar:5.4.1] 在 java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:316) ~[?:?] at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770) ~[?:?] at java.awt.EventQueue$4.run(EventQueue.java:721) ~[?:?] at java.awt.EventQueue$4.run(EventQueue.java:715) ~[?:?] at java.security.AccessController.doPrivileged(AccessController.java:391) [?:?] 在 java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) [?:?] 在 java.awt.EventQueue.dispatchEvent(EventQueue.java:740) [?:?] 在 java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) [?:?] 在 java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) [?:?] 在 java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) [?:?] 在 java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) [?:?] 在 java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) [?:?] 在 java.awt.EventDispatchThread.run(EventDispatchThread.java:90) [?:?] 引起:java.net.ConnectException:连接超时:连接 在 sun.nio.ch.Net.connect0(Native Method) ~[?:?] at sun.nio.ch.Net.connect(Net.java:576) ~[?:?] at sun.nio.ch.Net.connect(Net.java:565) ~[?:?] at sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:588) ~[?:?] at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:333) ~[?:?] at java.net.Socket.connect(Socket.java:645) ~[?:?] at java.net.Socket.connect(Socket.java:595) ~[?:?] at java.net.Socket.(Socket.java:519) ~[?:?] at java.net.Socket.(Socket.java:293) ~[?:?] at sun.rmi.transport.tcp.TCPDirectSocketFactory.createSocket(TCPDirectSocketFactory.java:40) ~[?:?] 在 sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:617) ~[?:?]

【问题讨论】:

  • 关于该问题的任何更新?如果你解决了,请分享你是如何解决的。
  • 我们必须为此创建新的虚拟机,然后它才能开始工作。

标签: jmeter connection rmi


【解决方案1】:

首先,您的一主一从“架构”没有任何意义,因为您只有一个负载生成器,如果没有进一步扩展它的计划 - 您可以只使用run your JMeter test in command-line non-GUI mode,那将就这样吧。

但是,如果您想添加更多从站,请确保

  1. 这些机器在同一个subnet 中并且可以相互访问(或者设置了适当的路由)
  2. 以下端口为open in Windows Firewall
    • 端口1099(或任何SERVER_PORT)
    • 你定义为server.rmi.localport的端口
    • 您定义为client.rmi.localport 的端口
  3. 您通过jmeter-server.bat 命令启动了从站

更多信息:

【讨论】:

  • 这仅用于 POC,将计划进一步扩展从站的数量。我尝试了所有这些,但不知何故它不起作用,但它应该起作用。我会检查你提供的链接是否有效。
【解决方案2】:

确保主从使用相同的 rmi 密钥库文件 (rmi_keystore.jks)。我在 master 上创建了它,然后将它 scp 到 slave。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-01
    • 2012-01-19
    • 1970-01-01
    • 2014-10-13
    • 1970-01-01
    • 2015-07-30
    • 1970-01-01
    相关资源
    最近更新 更多