You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache JMeter 5.4.1服务器启动失败:java.rmi.server.ExportException: 端口4000监听失败问题求助

解决JMeter分布式启动时的java.rmi.server.ExportException问题

Hey,我一眼就发现你这里踩了个很常见的RMI配置坑!你在从节点启动jmeter-server时,把-Djava.rmi.server.hostname指定成了主节点的IP(10.54.225.190),但这个参数的作用是告诉JMeter从节点要绑定自己的IP地址,所以应该填从节点自身的IP(也就是10.54.225.200)。这就是为什么明明端口没被占用,却还是报监听失败的错——RMI服务在尝试绑定一个不属于当前机器的IP,肯定启动不了呀!

接下来给你一套完整的修复步骤,保证能搞定这个问题:

1. 立刻修正从节点的启动命令

登录到从节点(10.54.225.200),切换到JMeter的bin目录,执行正确的启动命令:

cd apache-jmeter-5.4.1/bin
./jmeter-server -Djava.rmi.server.hostname=10.54.225.200

2. 统一主从节点的RMI端口配置(推荐操作)

为了避免RMI随机端口带来的防火墙困扰,建议在主节点和从节点的jmeter.properties文件中都添加/确认以下配置:

# 你主节点已经配置了,从节点也必须加上这个
server.rmi.localport=4000
# 指定JMeter服务的默认端口(默认是1099,也可以自定义)
server_port=1099
# 如果暂时不需要SSL加密,直接关闭它简化配置(后续需要再开启)
server.rmi.ssl.disable=true

3. 验证网络和端口的连通性

别忽略这一步,很多分布式问题都是网络不通导致的:

  • 在主节点上ping从节点IP(ping 10.54.225.200),确保两台机器网络可达
  • 用telnet 10.54.225.200 4000和telnet 10.54.225.200 1099测试端口是否开放,如果连接失败,检查CentOS的防火墙规则(比如用firewall-cmd --add-port=4000/tcp --permanent放行端口)或者云服务器的安全组配置

4. 确保keystore配置一致(如果启用SSL的话)

你已经把主节点的rmi_keystore.jks复制到从节点bin目录了,如果后续要开启SSL加密,记得主从节点的jmeter.properties里关于SSL的配置要完全一致;如果暂时不需要,直接用上面的server.rmi.ssl.disable=true就能跳过这部分的复杂配置,先让分布式环境跑起来。

5. 主节点启动客户端的正确姿势

主节点启动JMeter客户端时,最好也指定自身的IP,避免机器多网卡导致的IP识别错误:

cd apache-jmeter-5.4.1/bin
./jmeter -Djava.rmi.server.hostname=10.54.225.190

按照上面的步骤操作完,应该就能顺利启动从节点的JMeter服务,正常跑分布式压测了!

内容的提问来源于stack exchange,提问作者Sameera De Silva

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 15:23:15