【发布时间】:2021-12-31 05:47:34
【问题描述】:
我正在尝试使用 Docker 实现 Jmeter 分布式框架。主从运行在 ec2 的不同主机上。端口已打开以允许通信。
Master 卡在下面的消息中
Starting distributed test with remote engines: [slaveIP:1099] @ Sun Nov 21 04:50:29 GMT 2021 (1637470229447)
Remote engines have been started:[slaveIP:1099]
在从属端,它向我抛出连接被拒绝的错误。
java.rmi.ConnectException: Connection refused to host: 172.17.0.2; nested exception is:
从机启动命令:
docker run \
-dit \
-p 6000:6000 \
-p 1099:1099 \
-v "${volume_path}":${jmeter_path} \
--rm \
jmeter \
-n -s \
-Jclient.rmi.localport=3000 \
-Jserver.rmi.localport=6000 \
-Dserver_port=1099 \
-Djava.rmi.server.hostname=<HostIP> \
-Dserver.rmi.ssl.disable=true \
-j ${jmeter_path}/server/slave_${timestamp}_${IP_ADD}.log
启动master的命令
docker run \
-v "${volume_path}":${jmeter_path} \
-p 3000:3000 \
--rm \
jmeternew \
-n -X \
-t ${jmeter_path}/$1 \
-Dserver.rmi.ssl.disable=true \
-Dclient.rmi.localport=3000 \
-R slaveIP:1099 \
-l ${jmeter_path}/client/result_${timestamp}.jtl \
-j ${jmeter_path}/client/jmeter_${timestamp}.log
如果我在同一台机器上运行 master 和 slave,相同的命令会起作用。 我尝试更改 java.rmi.server.hostname=0.0.0.0。 它也让我连接被拒绝错误
【问题讨论】:
-
#1 master docker run的哪个参数中,设置slave ip? #2 Master和client有不同的ips?这些 ip 是公开的还是存在于同一个网络中?
-
你使用的是什么 jmeter docker 镜像?
-
@JRichardsz -R 参数用于设置从IP。#2。是的,两者都在同一个子网中。我还检查了所有使用端口上主从之间的网络连接
-
@JRichardsz 我已经关注了 Blazemeter 博客 blazemeter.com/blog/jmeter-distributed-testing-with-docker 来创建图像
标签: java docker performance jmeter rmi