Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jmeter远程测试:.RemoteJMeterEngineImpl_存根(无安全管理器:RMI类加载程序已禁用)_Java_Performance_Jmeter - Fatal编程技术网

Java Jmeter远程测试:.RemoteJMeterEngineImpl_存根(无安全管理器:RMI类加载程序已禁用)

Java Jmeter远程测试:.RemoteJMeterEngineImpl_存根(无安全管理器:RMI类加载程序已禁用),java,performance,jmeter,Java,Performance,Jmeter,我是Jmeter新手,我尝试在下一个配置中使用此工具运行分布式测试: 客户端(主)-Windows 7 Java版本-1.8.0_92(也尝试了7u79) JMeter,版本-2.13 服务器(从)-虚拟机Ubuntu 14(使用VirtualBox) Jave版本-1.7.0_95 Jmeter版本-2.8.20130705 我在官方教程和其他帖子(包括stackoverflow帖子)中找到的所有东西,我都做过并尝试过,但都没有成功。 当我试图通过客户端在服务器上运行测试时,我总是遇到

我是Jmeter新手,我尝试在下一个配置中使用此工具运行分布式测试:

  • 客户端(主)-Windows 7
    • Java版本-1.8.0_92(也尝试了7u79)
    • JMeter,版本-2.13
  • 服务器(从)-虚拟机Ubuntu 14(使用VirtualBox)
    • Jave版本-1.7.0_95
    • Jmeter版本-2.8.20130705
  • 我在官方教程和其他帖子(包括stackoverflow帖子)中找到的所有东西,我都做过并尝试过,但都没有成功。 当我试图通过客户端在服务器上运行测试时,我总是遇到下一个错误:

    java.rmi.UnmarshalException:错误解组返回;嵌套异常是: java.lang.ClassNotFoundException:org.apache.jmeter.engine.RemoteJMeterEngineImpl_存根(无安全管理器:禁用RMI类装入器)

    我尝试了不同的组合:

    • 禁用Ubuntu和Windows上的防火墙
    • 使用相同的子网
    • 在jmeter服务器文件中设置主机名: RMI_HOST_DEF=-Djava.RMI.server.hostname=172.29.148.49

    • 正在创建.java.policy文件,并授予jmeter/bin目录中的所有权限: 授予{ 权限java.security.AllPermission; };

    • jmeter服务器文件中的设置: -Djava.security.policy=file:/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
    
    但是,当我尝试在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
    
    2016/04/25 13:15:58信息-jmeter.engine.DistributedRunner:配置远程引擎:172.29.148.49:1099
    2016/04/25 13:15:58错误-jmeter.engine.DistributedRunner:未能在172.29.148.49:1099 java.rmi.unmarshalle创建引擎异常:错误解组返回;嵌套异常是:
    java.lang.ClassNotFoundException:org.apache.jmeter.engine.RemoteJMeterEngineImpl_存根(无安全管理器:禁用RMI类装入器)
    位于sun.rmi.registry.RegistryImpl\u Stub.lookup(未知源)
    位于java.rmi.Naming.lookup(未知源)
    位于org.apache.jmeter.engine.ClientJMeterEngine.getEngine(ClientJMeterEngine.java:54)
    位于org.apache.jmeter.engine.ClientJMeterEngine。(ClientJMeterEngine.java:67)
    位于org.apache.jmeter.engine.DistributedRunner.createEngine(DistributedRunner.java:237)
    位于org.apache.jmeter.engine.DistributedRunner.getClientEngine(DistributedRunner.java:213)
    位于org.apache.jmeter.engine.DistributedRunner.init(DistributedRunner.java:91)
    位于org.apache.jmeter.gui.action.RemoteStart.doAction(RemoteStart.java:81)
    位于org.apache.jmeter.gui.action.ActionRouter.performAction(ActionRouter.java:81)
    位于org.apache.jmeter.gui.action.ActionRouter.access$000(ActionRouter.java:40)
    位于org.apache.jmeter.gui.action.ActionRouter$1.run(ActionRouter.java:63)
    在java.awt.event.InvocationEvent.dispatch(未知源)处
    位于java.awt.EventQueue.dispatchEventImpl(未知源)
    位于java.awt.EventQueue.access$500(未知源)
    在java.awt.EventQueue$3.run处(未知源)
    在java.awt.EventQueue$3.run处(未知源)
    位于java.security.AccessController.doPrivileged(本机方法)
    位于java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(未知源)
    位于java.awt.EventQueue.dispatchEvent(未知源)
    位于java.awt.EventDispatchThread.pumpOneEventForFilters(未知源)
    位于java.awt.EventDispatchThread.pumpEventsForFilter(未知源)
    位于java.awt.EventDispatchThread.pumpEventsForHierarchy(未知源)
    位于java.awt.EventDispatchThread.pumpEvents(未知源)
    位于java.awt.EventDispatchThread.pumpEvents(未知源)
    位于java.awt.EventDispatchThread.run(未知源)
    原因:java.lang.ClassNotFoundException:org.apache.jmeter.engine.RemoteJMeterEngineImpl_存根(无安全管理器:禁用RMI类装入器)
    位于sun.rmi.server.LoaderHandler.loadClass(未知源)
    位于sun.rmi.server.LoaderHandler.loadClass(未知源)
    位于java.rmi.server.RMIClassLoader$2.loadClass(未知源)
    位于java.rmi.server.RMIClassLoader.loadClass(未知源)
    位于sun.rmi.server.MarshalInputStream.resolveClass(未知源)
    位于java.io.ObjectInputStream.readNonProxyDesc(未知源)
    位于java.io.ObjectInputStream.readClassDesc(未知源)
    位于java.io.ObjectInputStream.ReadOrderinaryObject(未知源)
    在爪哇。I.目标输入流。readObject0(未知源)
    位于java.io.ObjectInputStream.readObject(未知源)
    ... 25多
    
    有人能帮我解决这个问题吗

    多谢各位

    我尝试了不同的组合:

    • 禁用Ubuntu和Windows上的防火墙
    无关的

    • 使用相同的子网
    无关紧要

    • 在jmeter服务器文件中设置主机名:
    无关紧要

    • 正在创建.java.policy文件,并授予jmeter/bin目录中的所有权限:
    无关紧要

    • jmeter服务器文件中的设置:
    无关紧要

    • 在java.policy文件(usr/lib/jvm/java-7-openjdk-amd64/jre/lib/security/java.policy)中设置所有权限
    无关紧要

    你的行动方针令人困惑。防火墙、子网、主机名、.policy文件、其名称或内容都与
    ClassNotFoundExceptions
    无关,无论是单独还是组合,而且令人费解的是,为什么任何人都会有不同的想法:特别是在安全策略操作方面,当错误消息明确指出未安装安全管理器时

    一个
    
    
     RMI_HOST_DEF=-Djava.rmi.server.hostname=172.29.148.49
    
    grant { permission java.security.AllPermission; };
    
    -Djava.security.policy=file:/usr/share/jmeter/bin/.java.policy