Dataproc客户端模式下Spark driver的实际运行位置问询
Dataproc Spark任务Driver运行位置说明
你对Dataproc的默认提交模式存在认知偏差:Dataproc默认向YARN提交Spark应用时采用cluster部署模式,而非客户端模式,这也是你杀死本地提交进程后任务仍在运行的核心原因。
- cluster模式下,Spark Driver运行在YARN调度的ApplicationMaster容器内,该容器部署在Dataproc集群的节点上,和本地提交设备没有关联
- 本地提交进程仅承担任务下发、日志拉取、状态同步的作用,杀死该进程不会影响集群上已经正常启动的Driver和Executor进程
- 你可以通过以下方式验证Driver的实际位置:
- 登录Dataproc的YARN ResourceManager UI,找到对应应用的详情页,直接查看ApplicationMaster的部署节点
- 登录集群节点执行
yarn application -status <目标应用ID>命令,从返回结果中获取ApplicationMaster的运行节点地址
- 如果需要让Driver运行在本地设备,可以在提交任务时显式添加
--deploy-mode client参数,该模式下杀死本地提交进程会直接终止Driver,整个Spark任务也会同步结束
内容的提问来源于stack exchange,提问作者Yann Moisan
相关产品推荐
相关产品推荐

