本文共 538 字,大约阅读时间需要 1 分钟。
升级hadoop集群后,跑hive sql发现任务一直报错跑不了。
在hive的cli界面执行sql,提示错误
ERROR: FAILED: Execution Error,return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
查看详细的日志,发现该job分发到4个节点执行,其中都报相同的错误,提示类似:
Current usage: 1GB of 1 GB physical memory used; 2.5 GB of 1.1 GB virtual memory used. Killing container.
可看到,这里提示使用的是1GB内存。
而后查看CDH界面配置,发现
mapreduce.map.memory.mb 参数设置为0,也就是使用默认配置为1024MB
map.reduce.memory.mb同上
可看出每个map给的内存最大为1G,而我sql读取的数据表数据量很大,有1亿多条
尝试将该参数改为2 (注意CDH管理界面配置默认单位为G,即吉字节) ,reduce也是。 重启后,再跑sql就可正常运行。 因此是升级集群后,未对这些必要的参数进行配置。导致一些任务异常。转载地址:http://bfkai.baihongyu.com/