Hadoop Mapper运行缓慢

时间:2012-10-03 15:03:51

标签: hadoop mapreduce

我正在尝试使用映射器和Reducer运行一个作业但是映射器运行缓慢..

如果对于相同的输入我禁用减速器,则映射器在3分钟内完成 而对于mapper-reducer作业,即使在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)

任何人都可以说出可能出错的地方

1 个答案:

答案 0 :(得分:0)

如果您的映射器在3分钟内完成。然后它的批处理性质并不慢。对于您使用过的mapreduce版本,您需要确保使用正确的减速器。如果你的簇大小是X,那么尝试使用reducer的数量作为X-1。看看这是否有帮助