我在新的JMeter,我嘗試運行使用這個工具用一個配置分佈式測試:的JMeter遠程測試:.RemoteJMeterEngineImpl_Stub(無安全管理器:RMI類加載器禁用)
- 客戶端(主) - Windows 7的
- Java版本 - 1.8.0_92(7u79太試過)
- JMeter的版本 - 2.13
- 服務器(從) - VM Ubuntu的14(與全光照摹的VirtualBox)
- java的版本 - 1.7.0_95
- 的JMeter版本 - 2.8.20130705
我已經做了,並試圖一切,我在官方教程和其他職位中,包括stackoverflow的帖子,但任何成功的結果。 我得到下一個錯誤的時候,當我嘗試通過客戶端上運行服務器測試:
java.rmi.UnmarshalException:錯誤和解組返回;嵌套的例外是: 拋出java.lang.ClassNotFoundException:org.apache.jmeter.engine.RemoteJMeterEngineImpl_Stub(無安全管理器:RMI類加載器禁用)
我在不同的組合已經試過:
-
在Ubuntu和Windows
- 禁用防火牆使用同一子網
- 設置主機名JMeter的服務器文件:
RMI_HOST_DEF = -Djava.rmi.server.hostname = 172.29.148.49
- 與授予在JMeter的/ bin目錄下的所有權限創建.java.policy中的文件:
授予{ 許可java.security。的AllPermission; };
- 設置在JMeter的服務器文件:
-Djava.security.policy =文件:/usr/share/jmeter/bin/.java.policy
- 將所有權限java.policy文件(usr/lib中/ JVM/Java的7-的OpenJDK,AMD64/JRE/lib/security中/ java.policy中)
在結果,當我在VM Ubuntu的啓動JMeter的服務器,它似乎一切都很好。我得到:
log_file=jmeter-server.log java.io.FileNotFoundException: jmeter-server.log (Permission denied)
[log_file-> System.out]
2016/04/25 17:13:52 INFO - jmeter.util.JMeterUtils: Setting Locale to en_US
2016/04/25 17:13:52 INFO - jmeter.JMeter: Loading user properties from: /usr/share/jmeter/bin/user.properties
2016/04/25 17:13:52 INFO - jmeter.JMeter: Loading system properties from: /usr/share/jmeter/bin/system.properties
2016/04/25 17:13:52 INFO - jmeter.JMeter: Setting System property: java.net.preferIPv4Stack=true
2016/04/25 17:13:52 INFO - jmeter.JMeter: Setting System property: java.rmi.server.hostname=172.29.148.49
2016/04/25 17:13:52 INFO - jmeter.JMeter: Setting System property: server_port=1099
2016/04/25 17:13:52 INFO - jmeter.JMeter: Copyright (c) 1998-2012 The Apache Software Foundation
2016/04/25 17:13:52 INFO - jmeter.JMeter: Version 2.8.20130705
2016/04/25 17:13:52 INFO - jmeter.JMeter: java.version=1.7.0_95
2016/04/25 17:13:52 INFO - jmeter.JMeter: java.vm.name=OpenJDK 64-Bit Server VM
2016/04/25 17:13:52 INFO - jmeter.JMeter: os.name=Linux
2016/04/25 17:13:52 INFO - jmeter.JMeter: os.arch=amd64
2016/04/25 17:13:52 INFO - jmeter.JMeter: os.version=4.2.0-35-generic
2016/04/25 17:13:52 INFO - jmeter.JMeter: file.encoding=UTF-8
2016/04/25 17:13:52 INFO - jmeter.JMeter: Default Locale=English (United States)
2016/04/25 17:13:52 INFO - jmeter.JMeter: JMeter Locale=English (United States)
2016/04/25 17:13:52 INFO - jmeter.JMeter: JMeterHome=/usr/share/jmeter
2016/04/25 17:13:52 INFO - jmeter.JMeter: user.dir =/usr/share/jmeter/bin
2016/04/25 17:13:52 INFO - jmeter.JMeter: PWD =/usr/share/jmeter/bin
2016/04/25 17:13:52 INFO - jmeter.JMeter: IP: 127.0.1.1 Name: ubuntu FullName: ubuntu
Created remote object: UnicastServerRef [liveRef: [endpoint:[172.29.148.49:45755](local),objID:[-1533104d:1544dc4ef79:-7fff, 2602978299635569139]]]
2016/04/25 17:13:52 INFO - jmeter.engine.RemoteJMeterEngineImpl: Starting backing engine on 1099
2016/04/25 17:13:52 INFO - jmeter.engine.RemoteJMeterEngineImpl: IP address=172.29.148.49
2016/04/25 17:13:52 INFO - jmeter.engine.RemoteJMeterEngineImpl: IP address is a site-local address; this may cause problems with remote access.
Can be overridden by defining the system property 'java.rmi.server.hostname' - see jmeter-server script file
2016/04/25 17:13:52 INFO - jmeter.engine.RemoteJMeterEngineImpl: Creating RMI registry (server.rmi.create=true)
2016/04/25 17:13:52 INFO - jmeter.engine.RemoteJMeterEngineImpl: Bound to registry on port 1099
但是當我tryting從對Windows客戶端(主站)運行的JMeter,不管GUI或以非GUI模式,我得到下一個錯誤日誌跟蹤:
2016/04/25 13:15:58 INFO - jmeter.engine.DistributedRunner: Configuring remote engine: 172.29.148.49:1099
2016/04/25 13:15:58 ERROR - jmeter.engine.DistributedRunner: Failed to create engine at 172.29.148.49:1099 java.rmi.UnmarshalException: error unmarshalling return; nested exception is:
java.lang.ClassNotFoundException: org.apache.jmeter.engine.RemoteJMeterEngineImpl_Stub (no security manager: RMI class loader disabled)
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at java.rmi.Naming.lookup(Unknown Source)
at org.apache.jmeter.engine.ClientJMeterEngine.getEngine(ClientJMeterEngine.java:54)
at org.apache.jmeter.engine.ClientJMeterEngine.<init>(ClientJMeterEngine.java:67)
at org.apache.jmeter.engine.DistributedRunner.createEngine(DistributedRunner.java:237)
at org.apache.jmeter.engine.DistributedRunner.getClientEngine(DistributedRunner.java:213)
at org.apache.jmeter.engine.DistributedRunner.init(DistributedRunner.java:91)
at org.apache.jmeter.gui.action.RemoteStart.doAction(RemoteStart.java:81)
at org.apache.jmeter.gui.action.ActionRouter.performAction(ActionRouter.java:81)
at org.apache.jmeter.gui.action.ActionRouter.access$000(ActionRouter.java:40)
at org.apache.jmeter.gui.action.ActionRouter$1.run(ActionRouter.java:63)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.apache.jmeter.engine.RemoteJMeterEngineImpl_Stub (no security manager: RMI class loader disabled)
at sun.rmi.server.LoaderHandler.loadClass(Unknown Source)
at sun.rmi.server.LoaderHandler.loadClass(Unknown Source)
at java.rmi.server.RMIClassLoader$2.loadClass(Unknown Source)
at java.rmi.server.RMIClassLoader.loadClass(Unknown Source)
at sun.rmi.server.MarshalInputStream.resolveClass(Unknown Source)
at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
at java.io.ObjectInputStream.readClassDesc(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at Java. I. ObjectInputStream. readObject0 (Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
... 25 more
任何人都可以幫助解決此問題。
非常感謝。
謝謝。我已經嘗試了您的解決方案以及任何結果。我在Java和Jmeter方面不太好,也許這是一個原因。 我的解決方案是:在客戶端和服務器上使用相同的Jmeter版本。由於默認的Ubuntu Jmeter版本是2.8,我也在客戶端上使用它。它的工作原理。 謝謝! –