最近集群数据源迁移,重新布置flume,由于没有优化好,产生了大量的小文件,多达八九万个……,外加上集群出现了namenode挂机故障,整个ETL作业跑的一塌糊涂。
现在对问题进行总结:
(1)map作业数因为小文件原因,从一个任务有几千个map激增到9w个……,每次作业运行到4w个左右的时候就挂掉了,追踪log日志,resourceManager的配置yarn.app.mapreduce.am.resource.mb设置为1GB,造成内存溢出,而导致作业被杀死。将参数修改为3GB。
(2)有些作业报出如下错误:
java.lang.OutOfMemoryError: Java heap space