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

JMeter分布式测试:无法连接远程Slave节点

解决JMeter分布式测试"non-JRMP server at remote endpoint"错误

这个错误表明JMeter Master通过RMI协议连接Slave时,目标端口运行的并非JMeter的RMI服务,以下是常见原因及对应解决方法:

1. 确认Slave以RMI服务模式启动

Slave不能直接打开JMeter GUI,必须通过命令行启动RMI服务:

# Windows系统
jmeter-server.bat
# Linux/macOS系统
./jmeter-server

启动后检查控制台日志,出现RemoteEngine started: [SlaveIP]:1099类信息,说明RMI服务正常运行。

2. 排查端口占用问题

JMeter默认用1099作为RMI注册端口、4000作为数据传输端口,检查端口是否被其他程序占用:

# Windows查看端口占用
netstat -ano | findstr "1099"
# Linux/macOS查看端口占用
lsof -i :1099

若端口被占用,可停止占用程序,或修改jmeter.properties配置自定义端口:

remote_port=1099
server.rmi.localport=4000

修改后重启Slave服务。

3. 保证Master与Slave的JMeter版本完全一致

JMeter的RMI通信对版本兼容性要求严格,Master和Slave必须使用完全相同的JMeter版本(包括小版本号),否则会出现协议不兼容问题。

4. 检查网络与防火墙设置

  • 验证Master能正常ping通Slave的IP地址:
    ping [SlaveIP]
    
  • 关闭Master和Slave的防火墙,或在防火墙上开放JMeter使用的端口(默认1099、4000,以及自定义端口)。
  • 禁用Slave机器的VPN或代理,避免网络路由异常。

5. 核对JMeter配置文件

  • 在Master的jmeter.properties中,确认remote_hosts配置了Slave的正确IP和端口:
    remote_hosts=SlaveIP:1099
    
  • 在Slave的jmeter.properties中,确保SSL配置一致(若未启用SSL):
    server.rmi.ssl.disable=true
    
    注意:Master和Slave的SSL开关状态必须统一,否则会导致连接失败。

6. 确保Java版本一致

Master和Slave需使用相同版本的Java,且Java版本符合JMeter要求(如JMeter 5.5+推荐Java 8或11),执行java -version确认版本匹配。

内容的提问来源于stack exchange,提问作者Kumaran

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 04:50:24