hadoop—如何控制一个配置单元查询同时启动的容器的最大数量

1cosmwyk  于 2021-05-27  发布在  Hadoop
关注(0)|答案(1)|浏览(278)

我有一个配置单元表,在hdfs上有1000个文件,每个文件大约是128m(一个hdfs块是128m)。当我从这个表中运行selectcount(1)时,它将总共运行1000个Map器,这是可以的。
糟糕的是,如果集群资源可用(当然最多1000个),这个配置单元查询将试图同时启动尽可能多的Map器。
这是非常糟糕和丑陋的,因为它可能同时占用太多的资源,使其他应用程序没有资源可供使用,并且不得不等待。
我的问题是如何控制同时运行的最大Map器数?
也就是说,对于1000个Map器,在任何时刻,最多有100个Map器同时运行,这样它就不会同时占用太多的资源(spark is对 --num-executors and --executor-cores (参数)

35g0bw71

35g0bw711#

从hadoop 2.7.0开始,mapreduce提供了两个配置选项来实现这一点: mapreduce.job.running.map.limit (默认值:0,表示无限制) mapreduce.job.running.reduce.limit (默认值:0,表示无限制)
mapreduce-5583:限制运行map和减少任务的能力

相关问题