运行分布式负载
OpenSearch 基准测试负载始终运行在启动基准测试的同一台机器上。但是,您可以使用多个负载驱动程序来生成额外的基准测试负载,特别是对于多台机器上的大型集群。本教程描述了如何在单个集群中的多台机器上分发基准测试负载。
系统架构
以下教程使用三节点架构;每个节点都在亚马逊弹性计算云 (Amazon EC2)中生成。
- 节点 1:节点 1 作为协调节点,并实现其他两个节点之间的分发和通信。
- 节点 2 和 节点 3:集群中的其余节点用于为基准测试生成负载。
OpenSearch 基准测试必须安装在所有节点上。有关安装说明,请参阅安装 OpenSearch 基准测试。
记下每个节点的 IP 地址。本教程使用以下 IP 地址
- 节点 1 – 协调节点: 192.0.1.0
- 节点 2 – 工作节点: 198.52.100.0
- 节点 3 – 工作节点: 198.53.100.0
步骤 1:启用节点通信
确保为每个节点启用通信。在 AWS 管理控制台中
- 转到节点的 EC2 主机。
- 选择 安全,然后选择与节点关联的安全组。
- 使用 添加入站规则,根据集群的端口范围和流量类型,向节点开放流量。
步骤 2:在每个节点上运行守护进程
在每个节点上启动 OpenSearch 基准测试,使用 --node-ip
在节点本身上初始化 OpenSearch 基准测试,然后使用 --coordinator-ip
将每个节点连接到协调节点。
对于 节点 1,以下命令将该节点标识为协调节点
opensearch-benchmarkd start --node-ip=192.0.1.0 --coordinator-ip=192.0.1.0
以下命令使 节点 2 和 节点 3 能够监听协调节点以获取负载生成指令。
节点 2
opensearch-benchmarkd start --node-ip=198.52.100.0 --coordinator-ip=192.0.1.0
节点 3
opensearch-benchmarkd start --node-ip=198.53.100.0 --coordinator-ip=192.0.1.0
在所有三个节点上运行 OpenSearch 基准测试,并且工作节点被设置为监听协调节点后,您现在可以运行基准测试了。
步骤 3:运行基准测试
在 节点 1 上,运行基准测试,将 worker-ips
设置为您的工作节点的 IP 地址,如下例所示
opensearch-benchmark execute-test --pipeline=benchmark-only --workload=eventdata --worker-ips=198.52.100.0,198.53.100.0 --target-hosts=<DOMAIN_ENDPOINT> --client-options=<STANDARD_CLIENT_OPTIONS> --kill-running-processes
测试完成后,测试生成的日志将出现在您的工作节点上。