hive reduce 阶段GC Exception

Posted 苏轶然

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hive reduce 阶段GC Exception相关的知识,希望对你有一定的参考价值。

某个reduce中的value堆积的对象过多,导致jvm频繁GC。

 

解决办法:

1. 增加reduce个数,set mapred.reduce.tasks=300,。

2. 在hive-site.xml中设置,或者在hive shell里设置 set  mapred.child.java.opts = -Xmx512m

   或者只设置reduce的最大heap为2G,并设置垃圾回收器的类型为并行标记回收器,这样可以显著减少GC停顿,但是稍微耗费CPU。

   set mapred.reduce.child.java.opts=-Xmx2g -XX:+UseConcMarkSweepGC;

3. 使用map join 代替 common join. 可以set hive.auto.convert.join = true

4. 设置 hive.optimize.skewjoin = true 来解决数据倾斜问题

以上是关于hive reduce 阶段GC Exception的主要内容,如果未能解决你的问题,请参考以下文章

Hive 任务卡在 map = 0%, reduce = 0%

hive设置map和reduce数量

hive执行作业时reduce任务个数设置为多少合适

hive如何调整map数和reduce数

hive中数据倾斜

Hive Join 优化之 Map Join