我正在尝试在Mesosphere集群上运行PySpark作业,但我似乎无法让它运行。据我所知,Mesos不支持PySpark应用程序的集群部署模式,需要在客户端模式下运行。我相信这就是问题所在。
当我尝试提交PySpark作业时,我得到的是下面的输出。
... socket.hpp:107] Shutdown failed on fd=48: Transport endpoint is not connected [107]
我认为在客户端模式下运行的spark作业需要直接连接到节点,这是否被阻止?
我需要更改哪些配置才能在客户端模式下运行PySpark作业?
答案 0 :(得分:0)
在客户端模式下运行PySpark(意味着驱动程序在您调用Python的地方运行)时,驱动程序成为Mesos Framework。发生这种情况时,运行框架的主机需要能够连接到群集中的所有节点,并且它们需要能够连接回来,这意味着 no NAT 。
如果确实是问题的原因,那么有两个环境变量可能会有用。如果您可以使用VPN,则可以将LIBPROCESS_IP
和SPARK_LOCAL_IP
设置为群集节点可用于连接回驱动程序的主机的IP。