温馨提示×

jmeter centos集群怎么部署

小樊
41
2025-12-25 15:24:40
栏目: 智能运维

JMeter CentOS 集群部署指南

一 架构与准备

  • 角色划分:部署 1 台 Master(控制机) + N 台 Slave(负载机),所有节点处于同一内网网段,建议 千兆互联
  • 版本一致:所有节点统一 JDK 8JDK 11,统一 JMeter 版本(如 5.4.x/5.5),避免混用导致 RMI 不兼容。
  • 系统与安全:建议创建专用用户 jmeter 运行 JMeter;各节点开启 NTP 时间同步;内网 DNS 不稳定时在各节点配置 /etc/hosts 主机名映射;必要时仅开放指定端口而非关闭防火墙。
  • 资源基线:单台 2–3GHz CPU 的 JMeter 实例通常可支撑约 1000–2000 线程(取决于协议与处理逻辑)。

二 安装与基础配置

  • 安装 JDK 与 JMeter(所有节点)
    • 安装 JDK 并设置 JAVA_HOME;下载解压 JMeter 至 /opt/apache-jmeter-,设置 JMETER_HOMEPATH
    • 示例(以 JMeter 5.4.1 为例):
      • 下载:wget https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-5.4.1.tgz
      • 解压:tar -xzf apache-jmeter-5.4.1.tgz -C /opt
      • 环境变量(/etc/profile 或 ~/.bashrc):
        • export JAVA_HOME=/usr/java/jdk1.8.0_201
        • export JMETER_HOME=/opt/apache-jmeter-5.4.1
        • export PATH=$PATH:$JAVA_HOME/bin:$JMETER_HOME/bin
  • 启动脚本权限(所有节点)
    • chmod +x $JMETER_HOME/bin/jmeter $JMETER_HOME/bin/jmeter-server
  • 建议:使用 非 root 用户(如 jmeter)运行 JMeter,便于权限与审计管理。

三 关键配置

  • 关闭 RMI SSL(所有节点,简化内网部署)
    • $JMETER_HOME/bin/jmeter.properties 中设置:
      • server.rmi.ssl.disable=true
  • Slave 节点配置(每台负载机)
    • 固定 RMI 端口,便于防火墙放行:
      • jmeter.properties:server_port=1099;server.rmi.localport=1099
    • 指定本机 RMI 主机名(避免解析错误):
      • 编辑 $JMETER_HOME/bin/jmeter-server,在文件顶部加入(示例为内网 IP):
        • RMI_HOST_DEF=-Djava.rmi.server.hostname=192.168.10.11
  • Master 节点配置(控制机)
    • 声明所有 Slave:在 jmeter.properties 设置
      • remote_hosts=192.168.10.11:1099,192.168.10.12:1099,192.168.10.13:1099
    • 固定 Master 本地 RMI 端口(可选,便于防火墙):
      • client.rmi.localport=60000
  • 脚本与数据文件
    • .jmx 脚本与各 CSV/依赖文件 放到所有 Slave 的相同路径下(或使用相对路径并在各 Slave 保持一致的工作目录)。

四 端口与防火墙

  • 常用端口
    • 1099/TCP:RMI 注册端口(Master 连接 Slave 使用)。
    • server.rmi.localport(示例 1099/TCP):Slave 本地 RMI 端口。
    • client.rmi.localport(示例 60000/TCP):Master 本地 RMI 端口(可选)。
  • firewalld 放行示例(CentOS 7)
    • 在每台 Slave:
      • firewall-cmd --zone=public --add-port=1099/tcp --permanent
      • firewall-cmd --reload
    • 在 Master(若固定了 client.rmi.localport):
      • firewall-cmd --zone=public --add-port=60000/tcp --permanent
      • firewall-cmd --reload
  • 云环境:同时放行 安全组 对应端口。
  • 连通性自检:在 Master 执行 telnet slave_ip 1099 验证端口可达。

五 启动与验证

  • 启动顺序
    • 各 Slave:nohup $JMETER_HOME/bin/jmeter-server &(或使用 systemd 托管为服务)
    • Master:
      • GUI:jmeter,菜单 Run → Remote Start/Remote Start All
      • 非 GUI(推荐):
        • jmeter -n -t test.jmx -R 192.168.10.11:1099,192.168.10.12:1099 -l result.jtl -e -o report/
  • 结果校验
    • 总样本数 = 线程数 × 循环次数 × 负载机数量(示例:2 线程 × 2 循环 × 2 台 = 8 次样本)。
    • 查看 聚合报告jmeter.log/jmeter-server.log 定位问题。
  • 常见问题速查
    • 连接被拒绝/超时:检查 Slave 是否运行 jmeter-server、端口是否放行、网络与 hosts 解析是否正确。
    • 找不到 rmi_keystore.jks:确认已设置 server.rmi.ssl.disable=true。
    • 文件找不到(CSV/依赖):确认各 Slave 路径与 Master 一致。
    • Master 也参与发压:如需 Master 参与,在 GUI 勾选 “Run test on localhost” 或在命令行包含 Master 的 remote_hosts 项。

0