晚上重启下hadoop,突然不能用了。
多次重启,虽然终端下都没报错,但是启动都没成功。
想查看下HDFS文件
$ bin/hadoop fs -ls /直接报错。
后来关闭hadoop的时候,都提示no JobTracker等等信息。。估计是启动失败了。(其实应该用jps指令查看的。。。)
查看hadoop的namenode日志:
gedit logs/hadoop-root-namenode-ubuntu.log
$ gedit logs/hadoop-root-namenode-ubuntu.log
查看最底下部分 :
2014-04-17 20:57:06,002 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: STARTUP_MSG: /************************************************************ STARTUP_MSG: Starting NameNode STARTUP_MSG: host = ubuntu/127.0.1.1 STARTUP_MSG: args = [] STARTUP_MSG: version = 1.2.1 STARTUP_MSG: build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.2 -r 1503152; compiled by 'mattf' on Mon Jul 22 15:23:09 PDT 2013 STARTUP_MSG: java = 1.7.0_40 ************************************************************/ 2014-04-17 20:57:06,127 ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils at org.apache.hadoop.metrics2.lib.MetricMutableStat.<init>(MetricMutableStat.java:59) at org.apache.hadoop.metrics2.impl.MetricsSystemImpl.<init>(MetricsSystemImpl.java:75) at org.apache.hadoop.metrics2.impl.MetricsSystemImpl.<init>(MetricsSystemImpl.java:120) at org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.<init>(DefaultMetricsSystem.java:37) at org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.<clinit>(DefaultMetricsSystem.java:34) at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1478) at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1488) Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang.StringUtils at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 7 more原来是启动的时候报错了。。。后来根据这个错误信息,查了下,是少了commons-lang-2.5.jar包。(不知道什么时候少了。。。囧)
刚好看到在hive/lib里有这个包,直接拷贝过来。。
再次重启。。。OK
root@ubuntu:~/hadoop-1.2.1# jps 5433 NameNode 5825 JobTracker 5995 TaskTracker 5743 SecondaryNameNode 5587 DataNode 6188 Jps总结:查看日志很重要。。。。
博主在重启Hadoop时遇到启动失败的问题,虽然终端无报错,但无法正常使用HDFS。通过查看Hadoop的namenode日志,发现与JobTracker相关的问题。通过检查并复制hive/lib中的特定包,问题最终得到解决,成功重启Hadoop。
1664

被折叠的 条评论
为什么被折叠?



