Hive调优——计算资源调优


发布于 2017-03-25 / 36 阅读 / 0 评论 /
从计算资源角度分析Hive任务执行过程可能调优的点。

计算资源调优就是从执行引擎和资源调度器进行调优。

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引擎配置调优

待续