计算资源调优就是从执行引擎和资源调度器进行调优。
1.Yarn资源配置调优
需要调整Yarn参数均与CPU、内存等资源有关,配置在yarn-site.xml中,核心配置有:
(1)yarn.nodemanager.resource.memory-mb:一个NodeManager借点分配给Container使用的总内存。该参数配置取决于NodeManager所在借点的总内存容量和该节点运行的其他服务的数量。
(2)yarn.nodemanager.resource.cpu-vcores:NodeManager借点分配给Container使用的CPU核数。该参数同样取决于NodeManager所在节点的总CPU核数和该节点运行的其他服务。
(3)yarn.scheduler.maximum-allocation-mb:单个Container能够使用的最大内存。
(4)yarn.scheduler.minimum-allocation-mb:单个Container能够使用的最小内存。
2.MR引擎配置调优
MapReduce资源配置主要包括Map Task的内存和CPU核数,以及Reduce Task的内存和核数。核心配置有:
(1)mapreduce.map.memory.mb:单个Map Task申请的Container容器内存大小,默认值为1024。该值必须在yarn.scheduler.maximum-allocation-mb和yarn.scheduler.minimum-allocation-mb规定的范围之间。该参数可以在运行时调整,根据不同的计算任务单独进行配置,hive中,可以通过HQL来设置,比如“set mapreduce.map.memory.mb=2048”。
(2)mapreduce.map.cpu.vcores:单个Map Task申请的Container容器CPU核数,默认值为1,该值一般不需要调整。
(3)mapreduce.reduce.memory.mb:单个Reduce Task申请的Container容器内存大小,默认值为1024。该值必须在yarn.scheduler.maximum-allocation-mb和yarn.scheduler.minimum-allocation-mb规定的范围之间。该参数可以在运行时调整,根据不同的计算任务单独进行配置,hive中,可以通过HQL来设置,比如“set mapreduce.reduce.memory.mb=2048”。
(4)mapreduce.reduce.cpu.vcores:单个Reduce Task申请的Container容器CPU核数,默认值为1,该值一般不需要调整。
3.Tez引擎配置调优
待续
4.Spark引擎配置调优
待续