我已经创建了一个 Hadoop 2.4.1 集群,并发现运行 MapReduce 应用程序会根据输入数据所在的文件系统类型而有不同的并行方式。
如果使用 HDFS,MapReduce 作业将生成足够多的容器以最大化使用所有可用内存。例如,在每个 map 任务分配 2GB 的情况下,具有 172GB 内存的 3 节点集群将创建约 86 个应用程序容器。
在不是 HDFS 的文件系统上(如 NFS 或我的情况下,使用的是并行文件系统),MapReduce 作业将只分配可用任务的子集(例如,对于相同的 3 节点集群,仅创建约 25-40 个容器)。由于我使用的是并行文件系统,因此我不太关心使用 NFS 时可能遇到的瓶颈问题。
是否有 YARN (yarn-site.xml)或 MapReduce (mapred-site.xml)配置可以让我有效地最大化资源利用?
如果使用 HDFS,MapReduce 作业将生成足够多的容器以最大化使用所有可用内存。例如,在每个 map 任务分配 2GB 的情况下,具有 172GB 内存的 3 节点集群将创建约 86 个应用程序容器。
在不是 HDFS 的文件系统上(如 NFS 或我的情况下,使用的是并行文件系统),MapReduce 作业将只分配可用任务的子集(例如,对于相同的 3 节点集群,仅创建约 25-40 个容器)。由于我使用的是并行文件系统,因此我不太关心使用 NFS 时可能遇到的瓶颈问题。
是否有 YARN (yarn-site.xml)或 MapReduce (mapred-site.xml)配置可以让我有效地最大化资源利用?