据我所知,当yarn创建作业时,它会选择一个存储待处理数据的节点作为工作节点,因为移动数据比移动代码要昂贵,本地处理会大大降低网络流量成本。但我的问题是,yarn作业是基于容器技术的,如果包含数据的节点没有足够的资源来宣布容器,该怎么办?Yarn会怎么样?
另一个问题是spark如何做同样的事情?由于它是基于rdd的分区,即数据的逻辑分区,而且通常spark的工作节点不是运行在datanode的同一台机器上,不像nodemanager for yarn与hdfs共享同一台机器,它如何处理数据传输成本?以及它如何决定在哪里执行任务?
暂无答案!
目前还没有任何答案,快来回答吧!