Hadoop添加第三个节点会出错

时间:2012-06-28 04:00:45

标签: hadoop apache-pig hdfs

我是Hadoop / Pig初学者。

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

当我在2节点集群上运行示例map reduce示例时,它可以正常工作。但是当我添加第三个节点时,它会给我以下错误。

  

740514,op:MAPRED_SHUFFLE,cliID:   attempt_201206271903_0002_m_000000_0,持续时间:37426656 2012-06-27   19:13:20,458 WARN org.apache.hadoop.mapred.TaskTracker:   getMapOutput(attempt_201206271903_0002_m_000001_0,0)失败:   org.apache.hadoop.util.DiskChecker $ DiskErrorException:找不到   的TaskTracker / airavat / jobcache / job_201206271903_0002 / attempt_201206271903_0002_m_000001_0 /输出/ file.out.index   在任何配置的本地目录中       at org.apache.hadoop.fs.LocalDirAllocator $ AllocatorPerContext.getLocalPathToRead(LocalDirAllocator.java:429)       at org.apache.hadoop.fs.LocalDirAllocator.getLocalPathToRead(LocalDirAllocator.java:160)       在org.apache.hadoop.mapred.TaskTracker $ MapOutputServlet.doGet(TaskTracker.java:3857)       在javax.servlet.http.HttpServlet.service(HttpServlet.java:707)       在javax.servlet.http.HttpServlet.service(HttpServlet.java:820)       在org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)       在org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1221)       在org.apache.hadoop.http.HttpServer $ QuotingInputFilter.doFilter(HttpServer.java:835)       在org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1212)       在org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)       在org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)       在org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)       在org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)       在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)       在org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)       在org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)       在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/

我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

我无法准确解决您的问题,但我可以给您一份清单以便以某种方式进行验证。希望这会有所帮助。

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