dsp*_*pyz 10 hadoop jetty amazon-web-services amazon-emr elastic-map-reduce
我正在Amazon Elastic MapReduce上运行大型(超过100个节点)系列的mapreduce作业.
在reduce阶段,已经完成的map任务会随之失败
Map output lost, rescheduling: getMapOutput(attempt_201204182047_0053_m_001053_0,299) failed :
java.io.IOException: Error Reading IndexFile
at org.apache.hadoop.mapred.IndexCache.readIndexFileToCache(IndexCache.java:113)
at org.apache.hadoop.mapred.IndexCache.getIndexInformation(IndexCache.java:66)
at org.apache.hadoop.mapred.TaskTracker$MapOutputServlet.doGet(TaskTracker.java:3810)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1221)
at org.apache.hadoop.http.HttpServer$QuotingInputFilter.doFilter(HttpServer.java:835)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Caused by: java.io.EOFException
at java.io.DataInputStream.readFully(DataInputStream.java:180)
at java.io.DataInputStream.readLong(DataInputStream.java:399)
at org.apache.hadoop.mapred.SpillRecord.<init>(SpillRecord.java:74)
at org.apache.hadoop.mapred.SpillRecord.<init>(SpillRecord.java:54)
at org.apache.hadoop.mapred.IndexCache.readIndexFileToCache(IndexCache.java:109)
... 23 more
Run Code Online (Sandbox Code Playgroud)
映射器针对这种情况的比例很少,足,我不会介意,只是当它,减速机全部暂停,等待1地图任务重新运行所以整个工作一直暂停,每次1-5分钟.
我认为这与此错误有关 - > https://issues.apache.org/jira/browse/MAPREDUCE-2980 有没有人知道如何在没有这种情况下运行EMR工作?
编辑:如果有任何帮助,这里有更多的信息.输入格式是SequenceFileInputFormat.输出格式是稍微修改过的版本SequenceFileOutputFormat.键值对是用户定义的(值很大并且实现Configurable).没有Combiner,只是Mapper和Reducer.我正在对输入和输出使用块压缩(并且还有中间kv对的记录压缩.这是EMR的默认值).编解码器是默认的,SnappyCodec我相信.最后,它实际上是一系列按顺序运行的作业,每个作业使用前一个作业的输出作为下一个作业的输入.前几对工作很小,运行良好.只有当工作开始变得非常大时才会发生这种情况.
自从提出这个问题以来,已经有了一些进展。jira MAPREDUCE-2389中更详细地讨论了该问题。
此 jira 以及此处或此处链接的任何其他 jira 的关键部分是,该问题与 jetty 版本相关。当时不可能去到较新的码头版本。
到目前为止,所提到的版本早已被弃用,因此每个人的情况都应该得到完全解决。
| 归档时间: |
|
| 查看次数: |
1645 次 |
| 最近记录: |