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

能否通过Spark REST API获取各Worker节点的Spark版本?

没问题,这个需求完全可以实现!

针对Spark v2.2.1版本,我们可以利用Worker节点自身的REST API来查询每个节点的Spark版本,具体操作步骤和注意事项如下:

核心思路

Spark的Worker节点默认提供了REST接口用于暴露自身的运行状态信息,其中就包含了Spark版本数据,我们只需要拿到Worker的地址和端口,再调用对应的API端点即可。

具体操作步骤

  • 确认Worker节点的地址与端口:你已经能获取到Worker列表,通常这个列表里会包含每个Worker的主机名/IP,以及它的UI端口(默认是8081,如果集群修改过spark.worker.ui.port配置,要使用自定义的端口)。
  • 调用Worker的REST API获取版本:对每个Worker节点,访问它的基础信息JSON端点:
    curl http://<worker-host>:<worker-port>/json
    
    这个请求会返回一个JSON格式的响应,其中的sparkVersion字段就是该Worker节点运行的Spark版本号。

示例响应片段

返回的JSON数据里会包含类似这样的内容:

{
  "id": "worker-20240520100000-192.168.1.10-8081",
  "sparkVersion": "2.2.1",
  "totalCores": 8,
  "usedCores": 4,
  // 其他节点状态字段...
}

注意事项

  • 网络与权限:确保发起请求的客户端能访问到所有Worker节点的对应端口,集群的防火墙、安全组规则需要允许该端口的入站请求。
  • 配置一致性:虽然标准Spark集群通常会保证所有节点版本统一,但如果是异构部署的集群(不推荐),这个方法能准确验证每个Worker的实际运行版本。
  • 端口自定义:如果集群修改过Worker的UI端口配置,一定要使用配置后的端口,否则会请求失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 06:54:59