仅当datanode同时运行nodemanager时。hdfs只处理数据。Yarn把手。yarn的resourcemanager将计算资源分配给nodemanager,由于明显的原因,nodemanager与datanodes位于同一位置。 yarn和spark试图将执行器移动到具有数据spark is processing(数据局部性)的datanodes/nodemanager,但这更像是一个优化,而不是一个硬性要求。尤其是由于大多数现代数据中心都有10gb以太网背板,因此将数据移动到备用节点的成本比以前通过网络移动数据的成本更低。
3条答案
按热度按时间klh5stk11#
仅当datanode同时运行nodemanager时。hdfs只处理数据。Yarn把手。yarn的resourcemanager将计算资源分配给nodemanager,由于明显的原因,nodemanager与datanodes位于同一位置。
yarn和spark试图将执行器移动到具有数据spark is processing(数据局部性)的datanodes/nodemanager,但这更像是一个优化,而不是一个硬性要求。尤其是由于大多数现代数据中心都有10gb以太网背板,因此将数据移动到备用节点的成本比以前通过网络移动数据的成本更低。
628mspwn2#
如果你的星火团运行的是
yarn
,那么是的,您的spark执行器将在hadoop集群中存储数据的相同节点上运行。事实上,在分布式计算中,将计算移到数据而不是将数据移到计算是提高性能的关键方法,因为将串行任务移到节点比将gbs数据移到任务便宜得多。
lhcgjxsq3#
我总是先从独立的Angular 来思考这些概念,然后再从集群的Angular 来思考。
考虑到一台机器(您还将在本地模式下运行spark),
DataNode
以及NameNode
只是支持hdfs抽象设计(即NameNode
存储文件树、文件元数据等,同时DataNode
存储实际数据块)。driver
以及executors
spark中的概念,在本地模式下,spark应用程序由driver
过程和一套executor
进程,该进程在单个计算机上作为线程运行。