2013-10-04 2 views
3

Я настраиваю среду распределенной нагрузки, используя JMeter. Я запускаю виртуальную машину Linux (CentOS) на моей Windows Vista (хосте). Linux VM - это JMeter Master (клиент). У меня есть сервер (Linux CentOS), который является моим JMeter Slave (сервером).JMeter: Распределенное (удаленное) тестирование: невозможно выполнить тесты удаленно

я сделал следующее:

1) добавлены следующие к клиенту (ведущий) jmeter.properties:

remote_hosts=172.22.222.22:55501 #IP address of the JMeter Slave 
client.rmi.localport=55512 
mode=Batch 
num_sample_threshold=250 

2) добавлены следующие к серверу (ведомый) jmeter.properties:

server_port=55501 
server.rmi.localhostname=172.22.222.22 
server.rmi.localport=55511 

3) добавлен следующий к серверу (ведомый) Jmeter-сервер:

RMI_HOST_DEF=-Djava.rmi.server.hostname=172.22.222.22 

4) Тогда из моего Учителя, я сделал:

ssh -R 55512:localhost:55512 172.22.222.22 

5) Затем я начал сервер JMeter:

sudo ./jmeter-server 

я получил:

Using local port: 55511 
Created remote object: UnicastServerRef [liveRef: [endpoint:[172.22.222.22:55511](local),objID:[637a4bg5:14185b4361e:-7fff, 894250217845851586]]] 

6) Тогда из мой мастер, я запустил графический интерфейс JMeter и сделал Run -> Remote Start -> 172.22.222.22

я получил следующее сообщение об ошибке:

2013/10/04 16:03:06 ERROR - jmeter.gui.action.RemoteStart: Failed to initialise remote engine java.rmi.ConnectException: Connection refused to host: 172.22.222.22; nested exception is: 
    java.net.ConnectException: Connection refused 
    at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619) 
    at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216) 
    at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202) 
    at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:340) 
    at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source) 
    at java.rmi.Naming.lookup(Naming.java:101) 
    at org.apache.jmeter.engine.ClientJMeterEngine.getEngine(ClientJMeterEngine.java:54) 
    at org.apache.jmeter.engine.ClientJMeterEngine.<init>(ClientJMeterEngine.java:67) 
    at org.apache.jmeter.gui.action.RemoteStart.doRemoteInit(RemoteStart.java:176) 
    at org.apache.jmeter.gui.action.RemoteStart.doAction(RemoteStart.java:79) 
    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(InvocationEvent.java:251) 
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:727) 
    at java.awt.EventQueue.access$200(EventQueue.java:103) 
    at java.awt.EventQueue$3.run(EventQueue.java:688) 
    at java.awt.EventQueue$3.run(EventQueue.java:686) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) 
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:697) 
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242) 
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161) 
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150) 
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146) 
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138) 
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91) 
Caused by: java.net.ConnectException: Connection refused 
    at java.net.PlainSocketImpl.socketConnect(Native Method) 
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339) 
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200) 
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182) 
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391) 
    at java.net.Socket.connect(Socket.java:579) 
    at java.net.Socket.connect(Socket.java:528) 
    at java.net.Socket.<init>(Socket.java:425) 
    at java.net.Socket.<init>(Socket.java:208) 
    at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:40) 
    at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:146) 
    at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613) 
    ... 26 more 

Может кто-нибудь пожалуйста, помогите мне понять, что я сделал не так, и как я могу решить эту проблему? Я попытался выключая IPTables на клиенте и на сервере, но я получаю то же самое:

sudo service iptables stop 
sudo chkconfig iptables off 
+0

Есть ли межсетевой экран, который может блокировать соединение? –

+0

Проверьте, открыт ли порт, локально и удаленно. Вы можете взять netcat. – tfb785

ответ

1

Смотрите мой ответ here

Я думаю, что единственный способ обойти это, чтобы настроить полнофункциональный VPN.

Смежные вопросы