我正在尝试以 Yarn 作为主节点以客户端模式运行 Spark 作业,但我遇到了一个特殊问题。日志显示Yarn ApplicationMaster 正在等待 Spark 驱动程序可访问,然后一段时间后抛出异常,表示Yarn ApplicationMaster 无法在 10.60.18.77:34332 连接到驱动程序。现在,我知道 IP 可以访问,但端口不可达,因为防火墙阻止了它。尝试让管理员打开端口是很乏味的。那么有没有办法让 Yarn 应用程序监听另一个端口(例如 20002,我知道该端口是开放的,而不是 34332)?
你可以通过设置来做到这一点spark.driver.port=20002
例如,在您的 Spark-Submit 中,您可以使用以下内容:
$ spark-submit --master yarn-client --conf spark.driver.port=20002 ....