33

我正在尝试使用 JMeter 设置分布式负载测试环境。我需要使用诸如 Linux Live CD 之类的便携式设备来设置远程客户端,但是每当我尝试在 Linux 中启动 jmeter-server 时,都会收到以下错误...

Created remote object: UnicastServerRef [liveRef: [endpoint:[127.0.0.1:49018](local),objID:[3b0d3d42:12985b7a49b:-7fff, -8459389540436649718]]]
    Server failed to start: java.rmi.RemoteException: Cannot start. testbox01.qa.nwr.lan is a loopback address.

经过广泛的谷歌搜索,我能找到的唯一补救措施是编辑 /etc/hosts 文件,以便主机名映射到 127.0.0.1 环回地址以外的其他地址。我已经使用 Ubuntu、Fedora 和 CentOS 进行了尝试,显然它们都默认将主机名设置为 127.0.0.l。

在我看来,我有四个选择...

1) 为我设置的每个远程测试盒定制 /etc/hosts 文件,其中涉及 20-50 个以上动态 DHCP 分配的 IP 地址。

2) 想办法强制 Linux 自己默认将主机名分配给它的 DHCP IP 地址。这当然是更优雅的解决方案,但我不知道如何做到这一点。有人知道吗?

3) 查找并使用作为 Live CD 提供的 Linux 发行版,默认情况下它的主机名不映射到 127.0.0.1。有人知道吗?

4) 深入研究 JMeter 的代码并开始拉线,但如果涉及到这一点,我会尽快使用另一个具有更精简功能集的开源工具,但其分布式架构不会遇到这个问题。

如果有人有任何建议,我将不胜感激。谢谢!

4

5 回答 5

45

在最新版本中,您可以使用以下命令运行脚本:

./jmeter-server -Djava.rmi.server.hostname=xxx.xxx.xxx.xxx

将 xxx.xxx.xxx.xxx 替换为该服务器的 IP 地址,即控制 jmeter 机器将用于连接到该服务器的 IP 地址。

于 2013-07-30T03:36:01.357 回答
5

看起来格伦的评论是正确的。

不确定这是否有帮助,但我发现了一个似乎包含此问题的补丁的错误。

https://bugs.launchpad.net/ubuntu/+source/jakarta-jmeter/+bug/589042

再次感谢,格伦!
(如果你决定把它变成一个实际的答案,我一定会接受的!)

于 2010-10-12T11:50:09.247 回答
4

将您的主机名从 localhost 更改为正确的 IP 地址。

  1. 检查您的主机名

    主机名

  2. 检查您的互联网 IP 地址

    如果配置

  3. 将此行添加到 /etc/hosts

    your_ip_address your_hostname

  4. 注释在 /etc/hosts 中分配了 localhost 的主机名

于 2013-07-27T09:07:50.243 回答
4

设置此环境变量后,我能够启动它:

export RMI_HOST_DEF=-Djava.rmi.server.hostname=XXX.XXX.XXX.XXX

还从这里下载了 jmeter 2.8:http: //archive.apache.org/dist/jmeter/binaries/

Ubuntu apt-get 版本是 2.3.4

于 2013-11-09T01:24:50.307 回答
1

您可以编辑jmeter.server文件以添加:

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

这解决了我的问题。您可以尝试查看页面以获取更多详细信息。

于 2015-10-27T12:08:14.407 回答