2012-10-03 62 views
1

我試圖運行既映射器和減壓器,但製圖者的工作運行慢..Hadoop的映射器運行緩慢

如果同一輸入我禁用減速,映射器在3分鐘 而映射器完成 - 還原工作,即使在30分鐘結束時,Mappers也沒有完成。

我正在使用hadoop 1.0.3 ..我試圖與無壓縮的地圖輸出。我刪除的Hadoop 0.20.203的舊版本,並重新安裝一切從頭開始爲1.0.3

另外,JobTracker的日誌填滿:

2012-10-03 10:26:20,138 INFO org.apache.hadoop.ipc.Server: IPC Server listener on 54311: readAndProcess threw exception java.lang.RuntimeException: readObject can't find class . Count of bytes read: 0 
java.lang.RuntimeException: readObject can't find class 
     at org.apache.hadoop.io.ObjectWritable.readObject(ObjectWritable.java:185) 
     at org.apache.hadoop.ipc.RPC$Invocation.readFields(RPC.java:102) 
     at org.apache.hadoop.ipc.Server$Connection.processData(Server.java:1303) 
     at org.apache.hadoop.ipc.Server$Connection.processOneRpc(Server.java:1282) 
     at org.apache.hadoop.ipc.Server$Connection.readAndProcess(Server.java:1182) 
     at org.apache.hadoop.ipc.Server$Listener.doRead(Server.java:537) 
     at org.apache.hadoop.ipc.Server$Listener$Reader.run(Server.java:344) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
     at java.lang.Thread.run(Thread.java:679) 
Caused by: java.lang.ClassNotFoundException: 
     at java.lang.Class.forName0(Native Method) 
     at java.lang.Class.forName(Class.java:264) 
     at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:820) 
     at org.apache.hadoop.io.ObjectWritable.readObject(ObjectWritable.java:183) 

誰能告訴什麼可能是錯誤的

+0

你是否配置了一個組合器(我認爲你在使用縮減器運行時無法完成映射器的原因之一)。 –

+0

No..just Mapper和Reducer – Ragit

+0

你能分享你的工作配置/生成job.xml(也許通過pastebin?) –

回答

0

如果您的映射器將在3分鐘內完成。那麼它的批處理性質並不慢。是的,你需要使用mapreduce的舊版本,以確保你使用的是正確的減速器數量。如果您的簇大小是X,那麼嘗試使用減速器的數量作爲X-1。看看這是否有幫助