我注意到当我使用yarn开始使用spark提交作业时,驱动程序和执行程序节点会随机设置。是否可以手动设置,以便在收集数据并将其写入文件时,每次都可以在同一节点上写入数据?
截至目前,我尝试过的参数是:
spark.yarn.am.port <driver-ip-address>
和
spark.driver.hostname <driver-ip-address>
谢谢!
答案 0 :(得分:0)
如果您使用<Style TargetType="{x:Type TextBox}">
<Setter Property="Validation.ErrorTemplate" Value="{StaticResource TextBoxErrorTemplate}"/>
</Style>
向Yarn提交,则该驱动程序将位于您提交的节点上。
您还可以使用属性--master yarn --deploy-mode client
将调度限制节点执行程序集的YARN节点标签表达式。只有大于或等于2.6的YARN版本才支持节点标签表达式,因此在针对早期版本运行时,将忽略此属性。
答案 1 :(得分:0)
火花集群可以在yarncluster或yarn-client模式下运行。
在纱线群集模式下,Spark驱动程序在应用程序主进程内运行,该进程由群集上的YARN管理,客户端计算机在启动应用程序后可能会消失。
在yarn-client模式下,驱动程序在客户端运行 进程,应用程序主机仅用于从YARN请求资源。
如您所见,根据模式,Spark会选择Application Master。它直到这个阶段才发生。但是,应用程序主机请求资源管理器执行任务的工作节点将根据工作节点的可用性随机选择。