【发布时间】:2019-02-21 16:16:15
【问题描述】:
我正在多宿主网络环境中设置 Spark 集群,但遇到了一些问题。我将从物理配置开始。
我在一个机架中有 12 个节点,它们有一个使用 ipoib 的机架间 100G infiniband 网络和一个 1G 管理网络。
当我从集群上的主节点运行作业时,Spark 运行良好,但现在我尝试从连接到管理网络的工作站执行作业,而管理网络正是我遇到问题的地方。
所有 spark 节点的主机文件都指向 infiniband 网络,因为我希望它们通过该网络进行通信。我必须将主节点的 SPARK_MASTER_HOST 设置为 0.0.0.0 才能从我的工作站连接到主节点。
现在我可以创建一个 SparkSession 并执行操作,但它总是挂起,当我查看工作人员的日志时,我看到他们收到“没有路由到主机”错误。似乎即使节点上的默认路由设置为管理子网,它也试图使用 infiniband 网络连接回客户端。 (我应该指出,我可以从所有客户端 ping 我的工作站,所以我知道网络路由很好。目前所有的防火墙都关闭了)
附带说明,由于这种设置,spark master web 界面不能很好地工作,因为所有指向工作程序的链接都指向 infiniband IP 地址,所以它总是失败,但如果你只是更改 IP在地址栏中手动添加到它工作的正确子网。解决这个问题也不错,但并不是什么大不了的事。
我尝试查看 spark 文档,但并没有真正找到任何有用的东西,我尝试使用一些网络设置,但运气不佳。我很难相信 spark 不支持拥有专用网络,但也许是这样。
感谢你们能给我的任何帮助或想法。
【问题讨论】:
标签: apache-spark pyspark infiniband multihomed