2012-06-28 28 views
0

我是Hadoop/Pig初学者。Hadoop添加第三个节点会给出错误

我在hadoop集群中有3个节点。我在其他两台机器中的一台机器,数据节点和任务跟踪器中有Namenode和辅助名称节点和作业跟踪器。 所有这3个节点都是独立的物理机器。

当我运行2节点群集上的示例映射减少示例时,它工作正常。但是,当我添加第三个节点时,它给我以下错误。

740514,OP:MAPRED_SHUFFLE,cliID: attempt_201206271903_0002_m_000000_0,持续时间:37426656 2012-06-27 19:13:20458 WARN org.apache.hadoop.mapred.TaskTracker: getMapOutput(attempt_201206271903_0002_m_000001_0,0)失败: org.apache.hadoop.util.DiskChecker $ DiskErrorException:找不到任何在org.apache.hadoop配置的本地目录 的 的TaskTracker/airavat/jobcache/job_201206271903_0002/attempt_201206271903_0002_m_000001_0 /输出/ file.out.index .fs.LocalDirAllocator $ AllocatorPerContext.getLocalPathToRead(LocalDirAllocator.java:429) at org.apa che.hadoop.fs.LocalDirAllocator.getLocalPathToRead(LocalDirAllocator.java:160) at org.apache.hadoop.mapred.TaskTracker $ MapOutputServlet.doGet(TaskTracker.java:3857) 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) 在org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) 在org.mortbay.jetty.Server.handle(Server.java:326) 在org.mortbay.jetty.HttpConnection.handleRequest( HttpConnection.java:542) at org.mortbay.jetty.HttpConnection $ RequestHandler.headerComplete(HttpConnection.java:928) a t 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) 在org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410) 在org.mortbay.thread.QueuedThreadPool $ PoolThread.run(QueuedThreadPool.java:582)

2012-06 -27 19:13:20,458 WARN org.apache.hadoop.mapred.TaskTracker: 未知的子地图输出错误: attempt_201206271903_0002_m_000001_0。忽略。

我也跟着指示http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-multi-node-cluster/

缺少什么我在这里?

回答

0

我无法确切地解决您的问题,但我可以给你一个清单,以核实以某种方式。希望这可以帮助。

  1. 您是否在新添加的节点上启动了dfs和mapred守护进程?
  2. 您是否在从站配置文件中添加了第三个节点?
  3. 检查您在hdfs-site文件中指定的数据路径,确保第三个节点可以在那里写入数据。