我在YARN集群上运行Hadoop任务,最多包含8个任务和16个核心。 当我运行该作业时,我看到在节点上运行了8个任务,但是使用了所有16个核心。 地图任务是多线程的吗? Map任务使用1个以上的核心? 我可以知道每个地图任务使用哪些核心吗?
谢谢, 阿萨弗
答案 0 :(得分:2)
您可以配置每个地图的核心数以及最大可用核心数 - 请参阅here。
这个问题听起来有些混乱,所以,一些可能相关的细节:
任务可能不仅仅是运行一个映射,并且,如果您正在运行hadoop,您可能正在将核心与系统中的其他内容一起使用(即,可能其他一些进程正在使用核心)。
映射任务可能会使用多个映射器来完成其工作 - 这是使用hadoop和MR架构的一部分 - 您的工作将自动分配并为您分割。
另外,请注意,您的任务数量与正在使用的映射器,核心或其他资源的数量没有直接关系;如果您要做的是限制CPU使用,或以任何其他方式控制资源分配,请更改容器的属性。
有关资源分配的更详细讨论(特别是与MR1比较时)see here。