使用 YARN 集群模式在 NAT 后面的 Spark 应用程序

Spark application behind a NAT using YARN cluster mode

在客户端部署模式下,Spark 驱动程序需要能够接收来自 Spark 执行程序的传入 TCP 连接。但是,如果 Spark 驱动程序位于 NAT 后面,则它无法接收传入连接。 运行 YARN 集群部署模式下的 Spark 驱动程序是否会克服这种位于 NAT 后面的限制,因为 Spark 驱动程序显然是在 Spark 主节点上执行的?

Will running the Spark driver in YARN cluster deploy mode overcome this limitation of being behind a NAT, because the Spark driver is then apparently executed on the Spark master?

是的,会的。另一种可能的方法是配置:

  • spark.driver.port
  • spark.driver.bindAddress

并创建到其中一个节点的 SSH 隧道。