如何查找Spark集群的worker信息?

Jes*_*ers 5 apache-spark pyspark

我有一个使用多个集群的 pyspark 程序。

考虑到以下因素,如何找出每个集群位于哪台机器上:

  • 我无法访问 Web UI(从远程终端工作)
  • 我正在使用 Python,并且使用Python,没有使用 Java 或 Scala
  • 欢迎任何机器的唯一标识符(IP 地址、名称、序列号...)
  • 我需要一个可以打印到终端的人类可读值

我看到的解决方案只是给出了行spark.metrics.worker,但它们没有指定spark在此上下文中“”是什么(我可以推断它不是 SparkCluster)。

是否有可能实现像这样的解决方案,但使用输出工作人员信息而不是一般统计信息的配置?

from pyspark.sql import SparkSession

# example of an ideal solution

spark = SparkSession
    .builder
    .appName("myCoolApp")
    .config("spark.workers.show", "True")
    .getOrCreate()
Run Code Online (Sandbox Code Playgroud)

谢谢!