我有几个不同的作业要在Hadoop集群上运行。有些需要很少的资源,有些需要更多,例如内存。我想在我的集群上同时运行这些作业,因为它支持 Yarn。我认为如果我只是将作业提交到集群,Yarn 会自动决定资源要求,但我想自己指定。如何使用 api 或命令行指定每个作业资源要求?
您可以使用 JobConf 为映射器和化简器设置内存。可以从命令行或驱动程序类中执行此操作。
在特定 setMemoryForMapTask(long mem) 和 setMemoryForReduceTask(long mem) 中查找这些属性
https://hadoop.apache.org/docs/current/api/org/apache/hadoop/mapred/JobConf.html#setMemoryForMapTask(long) 具有更多信息和使用详细信息。