当前位置:   article > 正文

Hive 基于常用参数的调优(Tez和MR引擎)_tez.runtime.shuffle.ssl.enable

tez.runtime.shuffle.ssl.enable

1.说明

Hive的常用计算引擎有MR、Tez和Spark,本篇博客主要是基于MR和Tez的参数调优,由于Hive的任务是在Yarn上提交的,所以Yarn作为一个资源调度器,可用的资源也需要进行配置。

2.Yarn参数个性化配置

配置文件名:yarn-site.xml

参数名推荐值参数说明
yarn.nodemanager.resource.cpu-vcores    当前数据节点的可用最大CPU核数*80%Container可以使用的的CPU数
yarn.scheduler.maximum-allocation-vcores当前数据节点的可用最大CPU核数*80%单个任务最大可用的CPU数
yarn.scheduler.minimum-allocation-vcores1单个任务最小可用的CPU数
yarn.nodemanager.resource.memory-mb当前数据节点的物理内存总量的80%可分配给Container的内存大小
yarn.scheduler.maximum-allocation-mb当前数据节点的物理内存总量的80%单个任务最大可用的内存大小
yarn.scheduler.minimum-allocation-mb1024单个任务最小可用的内存大小

3.Hive参数个性化配置(MR)

参数名推荐值参数说明
hive.execution.enginemr选择执行引擎
hive.exec.paralleltrue是否并行执行任务,默认值为false。
hive.exec.compress.intermediatetrue否对hive查询中的数据进行压缩,当map中间数据较多时,可以选择开启压缩,压缩形式推荐Snappy,默认值为false。
mapreduce.map.output.compress.codecorg.apache.hadoop.io.compress.SnappyCodec在开启压缩时,该参数生效,Snappy结合了低CPU开销和好的压缩执行效率,适合中间文件的压缩和解压,默认值为org.apache.hadoop.io.compress.DefaultCodec。
mapreduce.map.memory.mb6144Mapper的Container的堆内存大小,根据实际情况设置,为1024的倍数,单位为MB。设置范围大小在3072-20480之间。
mapreduce.map.cpu.vcores1每个Mapper的可使用最大的CPU核数,默认值为1。
mapreduce.reduce.memory.mb6144Reducer的Container的堆内存大小,根据实际情况设置,为1024的倍数,单位为MB。
mapreduce.reduce.cpu.vcores1每个Reducer的可使用最大的CPU核数,默认值为1。
hive.exec.reducers.max100允许的最大reduce数量,需要根据reduce的数据量来判断,默认值为1009。
mapred.reduce.tasks100指定reduce的个数,默认为-1。

4.Hive参数个性化配置(Tez)

参数名推荐值参数说明
hive.execution.enginetez选择执行引擎
hive.tez.input.formatorg.apache.hadoop.hive.ql.io.CombineHiveInputFormat如果小文件过多,导致map数很多时,可以使用org.apache.hadoop.hive.ql.io.CombineHiveInputFormat来合并小文件,减少过多的map任务数,默认值为org.apache.hadoop.hive.ql.io.HiveInputFormat。
hive.tez.container.size10240Tez的Container的堆内存大小,根据实际情况设置,为1024的倍数,单位为MB。设置范围大小在3072-20480之间。
tez.runtime.io.sort.mb128Hive输出排序需要的内存大小,不超过2G,单位为MB。
tez.am.container.reuse.enabledtrueTez的AM容器设置为可重用。
tez.runtime.shuffle.fetch.buffer.percent0.90运行期间,用于shuffle的buffer大小比例。
tez.runtime.unordered.output.buffer.size-mb1024如果不直接写入磁盘,使用的缓冲区大小。建议设置为10% * hive.tez.container.size。
hive.exec.reducers.max100允许的最大reduce数量,需要根据reduce的数据量来判断,默认值为1009。
mapred.reduce.tasks100指定reduce的个数,默认为-1。

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/833864
推荐阅读
相关标签
  

闽ICP备14008679号