这是一个奇怪的问题。当我的笔记本断电并自行关机时,我正在运行 MR 作业(单节点)。由于 ubuntu 10.04 中缺少“无电池”警告
当我再次启动并尝试启动hadoop(单节点)时,一切顺利,当我从命令行发出“jps”时,列出了所有主从进程。我还尝试发出“netstat -plten | grep java”。
命令行输出:
hduser@fox:~$ jps 10476 数据节点 1819 10696 工作跟踪器 10813 任务跟踪器 11741 日元 10605 次要名称节点 10360 名称节点 hduser@fox:~$ sudo netstat -plten | grep java tcp 0 0 0.0.0.0:55376 0.0.0.0:* 听 1000 141925 10476/java tcp 0 0 0.0.0.0:42352 0.0.0.0:* 听 1000 141790 10360/java tcp 0 0 0.0.0.0:50070 0.0.0.0:* 听 1000 142727 10360/java tcp 0 0 0.0.0.0:50010 0.0.0.0:* 听 1000 142818 10476/java tcp 0 0 0.0.0.0:50075 0.0.0.0:* 听 1000 143308 10476/java tcp 0 0 0.0.0.0:50020 0.0.0.0:* 听 1000 146358 10476/java tcp 0 0 127.0.0.1:38533 0.0.0.0:* 听 1000 143217 10813/java tcp 0 0 102.173.156.27:54310 0.0.0.0:* 听 1000 141913 10360/java tcp 0 0 102.173.156.27:54311 0.0.0.0:* 听 1000 142359 10696/java tcp 0 0 0.0.0.0:50090 0.0.0.0:* 听 1000 142827 10605/java tcp 0 0 0.0.0.0:56779 0.0.0.0:* 听 1000 142191 10605/java tcp 0 0 0.0.0.0:55373 0.0.0.0:* 听 1000 142251 10696/java tcp 0 0 0.0.0.0:50030 0.0.0.0:* 听 1000 142921 10696/java
我检查了作业跟踪器日志文件:
2013-01-09 16:40:52,286 警告 org.apache.hadoop.hdfs.DFSClient:块空错误数据节点 [0] 节点的错误恢复 == null 2013-01-09 16:40:52,286 警告 org.apache.hadoop.hdfs.DFSClient:无法获取块位置。源文件“/home/hduser/hadoop/tmpnew/mapred/system/jobtracker.info” - 中止... 2013-01-09 16:40:52,286 警告 org.apache.hadoop.mapred.JobTracker:写入文件 hdfs://master:54310/home/hduser/hadoop/tmpnew/mapred/system/jobtracker.info 失败! 2013-01-09 16:40:52,287 警告 org.apache.hadoop.mapred.JobTracker:文件系统尚未准备好! 2013-01-09 16:40:52,290 警告 org.apache.hadoop.mapred.JobTracker:无法初始化恢复管理器。 org.apache.hadoop.ipc.RemoteException: java.io.IOException: 文件 /home/hduser/hadoop/tmpnew/mapred/system/jobtracker.info 只能复制到 0 个节点,而不是 1 个 在 org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1558) 在 org.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(NameNode.java:696) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:597) 在 org.apache.hadoop.ipc.RPC$Server.call(RPC.java:563) 在 org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1388) 在 org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1384) 在 java.security.AccessController.doPrivileged(本机方法) 在 javax.security.auth.Subject.doAs(Subject.java:396) 在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) 在 org.apache.hadoop.ipc.Server$Handler.run(Server.java:1382) 在 org.apache.hadoop.ipc.Client.call(Client.java:1070) 在 org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:225) 在 $Proxy5.addBlock(未知来源) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:597) 在 org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:82) 在 org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:59) 在 $Proxy5.addBlock(未知来源) 在 org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.locateFollowingBlock(DFSClient.java:3510) 在 org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.nextBlockOutputStream(DFSClient.java:3373) 在 org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.access$2600(DFSClient.java:2589) 在 org.apache.hadoop.hdfs.DFSClient$DFSOutputStream$DataStreamer.run(DFSClient.java:2829) 2013-01-09 16:41:02,291 警告 org.apache.hadoop.mapred.JobTracker:重试... 2013-01-09 16:41:02,331 警告 org.apache.hadoop.hdfs.DFSClient:DataStreamer 异常:org.apache.hadoop.ipc.RemoteException:java.io.IOException:文件/home/hduser/hadoop/tmpnew/ mapred/system/jobtracker.info 只能复制到 0 个节点,而不是 1 个 在 org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1558) 在 org.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(NameNode.java:696) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:597) 在 org.apache.hadoop.ipc.RPC$Server.call(RPC.java:563) 在 org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1388) 在 org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1384) 在 java.security.AccessController.doPrivileged(本机方法) 在 javax.security.auth.Subject.doAs(Subject.java:396) 在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) 在 org.apache.hadoop.ipc.Server$Handler.run(Server.java:1382) 在 org.apache.hadoop.ipc.Client.call(Client.java:1070) 在 org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:225) 在 $Proxy5.addBlock(未知来源) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:597) 在 org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:82) 在 org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:59) 在 $Proxy5.addBlock(未知来源) 在 org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.locateFollowingBlock(DFSClient.java:3510) 在 org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.nextBlockOutputStream(DFSClient.java:3373) 在 org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.access$2600(DFSClient.java:2589) 在 org.apache.hadoop.hdfs.DFSClient$DFSOutputStream$DataStreamer.run(DFSClient.java:2829)
我无法使用 URL 看到 tasktracker - master:50060
因此我感觉tasktracker没有正确启动。
帮助表示赞赏。