在 Debian 上部署 JMeter 分布式集群
架构与准备
安装 Java 与 JMeter
sudo apt-get update && sudo apt-get install -y openjdk-11-jdk wgetwget https://dlcdn.apache.org/jmeter/binaries/apache-jmeter-5.6.2.tgz
tar -xzf apache-jmeter-5.6.2.tgz
echo 'export JMETER_HOME=/opt/apache-jmeter-5.6.2' >> ~/.bashrc
echo 'export PATH=$JMETER_HOME/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
java -version、$JMETER_HOME/bin/jmeter -v,确保输出一致。配置 JMeter 分布式
$JMETER_HOME/bin/jmeter.properties# 禁用 RMI SSL(测试环境常用,生产可按需开启)
server.rmi.ssl.disable=true
# 指定服务端口(默认 1099,可按需修改)
server_port=1099
# 可选:指定 RMI 本地端口(便于防火墙放行)
server.rmi.localport=1099
cd $JMETER_HOME/bin
nohup ./jmeter-server -Djava.rmi.server.hostname=<AGENT_IP> &
$JMETER_HOME/bin/jmeter.properties# 填写所有 Agent 的 IP:端口
remote_hosts=<AGENT1_IP>:1099,<AGENT2_IP>:1099
jmeter-server 并将其 IP 加入 remote_hosts。启动测试与结果收集
jmeter -n -t testplan.jmx -R <AGENT1_IP>:1099,<AGENT2_IP>:1099 -l result.jtl
-n 非 GUI 模式-t 指定测试计划 JMX 文件-R 指定远程 Agent 列表(覆盖 remote_hosts)-l 指定结果文件(JTL)-e -o reportjmeter,在菜单“运行 → 远程启动/远程全部启动”选择目标 Agent。防火墙与网络、常见问题
sudo ufw allow 1099/tcp
sudo ufw reload
server_port 与 server.rmi.localport)。java.io.FileNotFoundException: rmi_keystore.jks (No such file or directory)
jmeter.properties 中设置 server.rmi.ssl.disable=true 并重启 jmeter-server。Could not find the TestPlan class!
jmeter-server 时报“未知的名称或服务”。/etc/hosts 中为本机添加 IP 与主机名映射,确保 RMI 通信正常。