1
我hortonworks HDP 2.6集羣,我使用風箏數據集工具來導入數據:如何在使用kite-dataset導入數據時避免mapreduce OutOfMemory Java堆空間錯誤?
./kite-dataset -v csv-import ml-100k/u.data ratings
我得到這個錯誤:
java.lang.Exception: java.lang.OutOfMemoryError: Java heap space
at org.apache.hadoop.mapred.LocalJobRunner$Job.runTasks(LocalJobRunner.java:462)
at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:522)
Caused by: java.lang.OutOfMemoryError: Java heap space
at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.init(MapTask.java:986)
at org.apache.hadoop.mapred.MapTask.createSortingCollector(MapTask.java:402)
at org.apache.hadoop.mapred.MapTask.access$100(MapTask.java:81)
at org.apache.hadoop.mapred.MapTask$NewOutputCollector.<init>(MapTask.java:698)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:770)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
at org.apache.hadoop.mapred.LocalJobRunner$Job$MapTaskRunnable.run(LocalJobRunner.java:243)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
我的羣集節點擁有16 GB或RAM其中一些被列爲可用。
我能做些什麼來避免這個錯誤?
它看起來像是運行mapreduce作業,而你的mapper耗盡內存。您可能需要將'mapred.map.child.java.opts'設置爲更高的值。風箏可能會讓你把它作爲參數傳入,或者你可能需要在'mapred-site.xml'中改變它 –