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

JMeter 4.0远程服务器启动报错:Windows主控连Linux从控遇文件未找到异常

解决JMeter分布式测试中rmi_keystore.jks文件缺失的问题

我之前也踩过这个一模一样的坑!在Windows主控端连接Linux从控端跑JMeter分布式测试时,出现rmi_keystore.jks的FileNotFoundException,本质是JMeter通过RMI通信时需要统一的密钥文件做安全验证,要么是文件没生成、要么是路径配置不对,尤其是跨Windows/Linux系统时路径格式容易出错。结合你提供的日志:

2018-05-01 09:13:56,336 INFO o.a.j.e.DistributedRunner: Configuring remote engine: XXX.XXX.XXX.37
2018-05-01 09:13:57,487 INFO o.a.j.e.DistributedRunner: Starting remote engines
2018-05-01 09:13:57,492 INFO o.a.j.e.DistributedRunner: Starting the test @ Tue May 01 09:13:57 CEST 2018 (1525158837487)
2018-05-01 09:13:57,492 INFO o.a.j.e.ClientJM...

给你整理几个靠谱的解决步骤:

1. 先在Linux从控端生成密钥文件

  • 进入Linux从控端的JMeter安装目录下的bin文件夹,运行生成脚本:
    ./create-rmi-keystore.sh
    
    全程按回车默认配置就行,生成的rmi_keystore.jks会自动放在bin目录里。之后确认文件存在,并且JMeter运行用户有读取权限。

2. 同步密钥文件到Windows主控端

  • 把Linux从控端bin目录下的rmi_keystore.jks复制到Windows主控端的JMeterbin目录下。划重点:不要在Windows上单独生成这个文件!必须和从控端用同一个,不然密钥不匹配会直接通信失败。

3. 检查两边的jmeter.properties配置

  • 分别打开Windows主控端和Linux从控端的jmeter.properties文件,找到以下两个配置项:
    server.rmi.ssl.keystore.file=rmi_keystore.jks
    server.rmi.ssl.truststore.file=rmi_keystore.jks
    
    • 如果用相对路径,确保文件确实在JMeter的bin目录下;如果用绝对路径,注意系统差异:
      • Linux从控端示例:/opt/apache-jmeter-5.x/bin/rmi_keystore.jks
      • Windows主控端示例:C:\apache-jmeter-5.x\bin\rmi_keystore.jks
    • Windows路径记得用反斜杠(\),别直接用Linux的正斜杠,不然系统识别不了路径。

4. 验证从控端服务是否正常

  • 在Linux从控端启动JMeter服务:
    ./jmeter-server
    
    如果启动时没有报错,说明密钥文件配置没问题。要是还是提示找不到文件,再仔细核对路径拼写和文件位置。

额外排查点

  • 要是你用的JMeter版本比较旧,或者主控和从控版本不一致,也可能出现这种奇怪的文件找不到错误,尽量保证两边版本统一。
  • 防火墙或者安全组也要确认RMI相关端口(默认1099,还有JMeter随机分配的服务器端口)是开放的,但从你的日志来看已经走到启动测试步骤,大概率还是密钥文件的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:59:15