Почему мой хост Ubuntu не разрешает вызовы RMI из JMeter?

1076
MarcelHodan

Я использую Jmeter клиент на моем Ubuntu Maschine. Я пытаюсь запустить удаленные тесты через RMI. Старт работает нормально, но я не получаю результаты обратно.


Запустите JMeter Server (версия 6,5):

$ HOME / jmeter / bin / jmeter-server -Djava.rmi.server.hostname = 10.168.88.2

Запустите JMeter Client (Ubuntu 14.04):

$ HOME / jmeter / bin / jmeter -java.rmi.server.hostname = 192.168.88.2 '

Запустите JMeter Client (Windows 7):

c: \ jmeter \ bin \ jmeter.bat -java.rmi.server.hostname = 192.168.113.47 '


Эта ошибка возникает в jmeter-server.log, когда я запускаю тесты с хоста (ubuntu) и с небольшим изменением на моей гостевой виртуальной машине (windows7)

**Ubuntu** ERROR - jmeter.samplers.RemoteListenerWrapper: testStarted(host)  java.rmi.ConnectException: Connection refused to host: 127.0.1.1; **Windows7** ERROR - jmeter.samplers.RemoteListenerWrapper: testStarted(host)  java.rmi.ConnectException: Connection refused to host: 192.168.113.47; 

Факт : IP моей гостевой виртуальной машины (win7) будет передан на сервер jmeter, но мой хост Ubuntu не достигает этой точки.

Мои IPTables выглядят так на моем хосте Ubuntu:

$ sudo iptables -S -P INPUT ACCEPT -P FORWARD ACCEPT -P OUTPUT ACCEPT -N ufw-after-forward -N ufw-after-input -N ufw-after-logging-forward -N ufw-after-logging-input -N ufw-after-logging-output -N ufw-after-output -N ufw-before-forward -N ufw-before-input -N ufw-before-logging-forward -N ufw-before-logging-input -N ufw-before-logging-output -N ufw-before-output -N ufw-reject-forward -N ufw-reject-input -N ufw-reject-output -N ufw-track-forward -N ufw-track-input -N ufw-track-output -A INPUT -j ufw-before-logging-input -A INPUT -j ufw-before-input -A INPUT -j ufw-after-input -A INPUT -j ufw-after-logging-input -A INPUT -j ufw-reject-input -A INPUT -j ufw-track-input -A FORWARD -j ufw-before-logging-forward -A FORWARD -j ufw-before-forward -A FORWARD -j ufw-after-forward -A FORWARD -j ufw-after-logging-forward -A FORWARD -j ufw-reject-forward -A FORWARD -j ufw-track-forward -A OUTPUT -j ufw-before-logging-output -A OUTPUT -j ufw-before-output -A OUTPUT -j ufw-after-output -A OUTPUT -j ufw-after-logging-output -A OUTPUT -j ufw-reject-output -A OUTPUT -j ufw-track-output 

Я предполагаю, что межсетевой экран блокирует все входящие обратные вызовы RMI и некоторую исходящую информацию (хоста Ubuntu).

Может кто-нибудь помочь мне с этой проблемой?

0
`iptables -L` показывает правила фильтра albal 8 лет назад 0

2 ответа на вопрос

0
vernjan

I suggest reading these articles - https://cloud.google.com/compute/docs/tutorials/how-to-configure-ssh-port-forwarding-set-up-load-testing-on-compute-engine/ and https://www.smartmeter.io/documentation#toc-controller---generators-communication for better understanding of communication between nodes in distributed mode.

The hostnames you are setting via -Djava.rmi.server.hostname, are they hostnames of the machines the instances is running on? I mean 10.168.88.2 is the hostname of the server and 192.168.88.2 is the hostname of your Ubuntu machine?

Also make sure you can ping from the server to the client, because server needs to connect to the client in order to send results.

If you cannot make direct access from server to client, use SSH tunneling (described thoroughly in the first article).

Hope this helps.

0
MarcelHodan

Alright, I was able to deactivate all firewall rules. The RMI calls were blocked by the firewall.

Now I'll adjust the firewall and the testing can begin :)

Здорово, что это сработало для вас, но не могли бы вы объяснить, * как * вы это сделали, чтобы кто-то еще в вашей ситуации в будущем мог также деактивировать правила брандмауэра, блокирующие RMI? Спасибо bertieb 8 лет назад 1