一次线程数超限导致的hive写入hbase作业失败分析
1.集群配置
操作系统:SuSe操作系统
集群节点:100台相同配置的服务器
单台:核心112Core,内存396G
2.问题现象
现象1:跑单个入库任务报错,批量提交任务后出现OOM异常
执行12个hivesql,将数据写入hbase.hbase入库有近一半的任务报错。
每次报错的任务不是同一个,hivesql任务分为2个阶段:
第1个阶段是hive自处理阶段,底层是spark计算引擎。出现oom,无法开启新的本地线程
第2阶段是以parquet格式生成Hfile写入hbase,出现如下报错:
OutOfMemoryError: unable to create new native thread异常
现象2:报错 Container [pid=XXX,containerID=container_1XXX] is running beyond virtual memory limits
以及 spark.deploy.yarn.ApplicationMaster: received term signal
3.问题分析
3.1 OOM异常分析
OutOfMemoryError: unable to create new native thread异常,一般是因