/ / Mapreduce - Problém s pamäťou haldy pri spracovaní veľkého xml súboru - xml, hadoop, mapreduce

Mapreduce - Problém s pamäťou haldy pri spracovaní veľkého xml súboru - xml, hadoop, mapreduce

Ja som používal Mahout XMLINPUTFORMAT v mojom MR kóde a XML (malá veľkosť) je úspešne spracovaný.

Teraz, keď sa pokúšam odoslať 800 MB vstupného XML súboru, dostanem výnimku Java Heap Memory, to sa dostalo po tom, ako bola spracovaná silná textová mapa na 83% a práca bola neúspešná.

Snažil som sa s nižšie konfigurácie, aj keď nie šťastie na proces.

Mohol by niekto prosím, dajte mi vedieť, ako proces veľké (obrovské) dáta xml súbor?

"

conf.set("mapreduce.input.fileinputformat.split.minsize","3073741824")
conf.set("mapred.child.java.opts", "-Xmx14096m -Xss2048m")
conf.set("mapreduce.map.child.java.opts", "-Xmx8072m")
conf.set("mapreduce.reduce.child.java.opts", "-Xmx3024m")
conf.setInt("io.sort.factor",15 )
conf.setInt("mapreduce.task.io.sort.mb",2048 )
conf.set("mapreduce.task.timeout","6000000")
conf.set("mapreduce.map.memory.mb", "3072")
conf.set("mapreduce.map.java.opts", "-Xmx3072m")
conf.set("mapreduce.reduce.memory.mb", "1024")
conf.set("mapreduce.reduce.java.opts", "-Xmx1024m")
conf.set("task.io.sort.mb", "2048")
conf.set("task.io.sort.factor", "100")
conf.set("mapred.job.shuffle.input.buffer.percent","0.40")

odpovede:

0 pre odpoveď č. 1

Zdá sa, že v konfigurácii je problém.

Po prvé, nepotrebujete mapred.child.java.opts alebo mapreduce.(map|reduce).child.java.opts nastavenie. Po druhé, chcete vytvoriť priestor haldy mapreduce.(map|reduce).java.opts to znamená 80% mapreduce.(map|reduce).memory.mb

Ak po vykonaní týchto zmien ste ešte stále čelili problému s priestorovým haldom, odporúčam buď spracovanie menších rozdielov, alebo zvýšenie priestoru pre úlohy.