首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Yarn上运行Spark,如果我提交一个应用程序,它会调度哪个节点,nodemanager还是worker?

在Yarn上运行Spark时,如果您提交一个应用程序,它会调度到NodeManager节点。

NodeManager是Yarn的组件之一,负责管理和监控集群中的节点。它负责接收来自ResourceManager的任务分配请求,并在本地启动和监控容器,以运行应用程序。

Worker是Spark的组件之一,负责在集群中运行Spark任务。它负责接收来自Driver的任务分配请求,并在本地启动和监控Executor,以执行任务。

在Yarn上运行Spark时,Spark的Driver会向Yarn的ResourceManager提交应用程序,并请求资源来执行任务。ResourceManager会将任务分配给可用的NodeManager节点,然后NodeManager会启动容器来运行应用程序。容器中的Executor会执行任务,并将结果返回给Driver。

因此,Yarn会调度应用程序到NodeManager节点上,而不是Worker节点上。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Hadoop学习笔记(四)之YARN

    之前,MapReduce 是 Master/Slave 结构,也就是集群中一个 Job Tracker 多个 Task Tracker 。 Job Tracker 负责资源管理和作业调度,Task Tracker 负责定期向 Job Tracker 报告节点的状态(节点死活,资源使用情况、任务执行情况)以及接收 Job Tracker 的命令来执行。不知你是否发现,问题就出现在这一个 Job Tracker 上,它挂掉,整个集群都完蛋。而且它由于负责了所有节点的RPC 请求,压力可想而知,也因此成为了节点规模扩大的瓶颈。最后一点便是集群仅支持 MapReduce,不支持其他计算框架。如果想使用 Spark 呢?对不起,再搭建一个集群,想使用 HBase 只能再搭建一个集群。这样的一堆集群既不好管理,又使得资源利用率极低(一段时间内这个集群忙,那个集群闲),同时跨集群的数据转移更是问题。于是乎,YARN 诞生了。更多精彩文章请关注公众号『Pythonnote』或者『全栈技术精选』

    03
    领券