当前位置:首页 > 开发 > 开源软件 > 正文

Hadoop报错:Exception in thread "main" java.lang.NoClassDefFoundError: NameNode

发表于: 2013-03-07   作者:chenzhou123520   来源:转载   浏览次数:
摘要: 刚刚在虚拟机上安装并配置了hadoop伪分布式集群,根据《hadoop实战》上的提示,启动Hadoop前需要格式化Hadoop的文件系统HDFS。命令如下: [root@localhost hadoop-1.0.4]# bin/hadoop NameNode -format 执行命令后报错: Exception in thread "main" java.lang.NoC

刚刚在虚拟机上安装并配置了hadoop伪分布式集群,根据《hadoop实战》上的提示,启动Hadoop前需要格式化Hadoop的文件系统HDFS。命令如下:

[root@localhost hadoop-1.0.4]# bin/hadoop NameNode -format

执行命令后报错:

Exception in thread "main" java.lang.NoClassDefFoundError: NameNode

参考了网上的一些文章:

大部分给出的方案都是修改conf/hadoop-env.sh配置文件,增加

export HADOOP_COMMON_HOME=/root/hadoop-1.0.4 (hadoop的安装目录)

但是重新执行后还是报错

 

接下来又修改了环境变量,增加了HADOOP_HOME配置:

HADOOP_HOME=/root/hadoop-1.0.4
PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin
export CATALINA_HOME JAVA_HOME CLASSPATH PATH HADOOP_HOME

 执行后还是报错。

 

之后仔细看了一些解决方案之后发现网上给出的正确命令是:

bin/hadoop namenode -format

 其中namenode是小写,我把我的执行命令里NameNode修改为小写后再次执行,发现成功了

[root@localhost hadoop-1.0.4]# bin/hadoop namenode -format
13/03/07 08:28:20 INFO namenode.NameNode: STARTUP_MSG: 
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG:   host = localhost/127.0.0.1
STARTUP_MSG:   args = [-format]
STARTUP_MSG:   version = 1.0.4
STARTUP_MSG:   build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.0 -r 1393290; compiled by 'hortonfo' on Wed Oct  3 05:13:58 UTC 2012
************************************************************/
13/03/07 08:28:20 INFO util.GSet: VM type       = 32-bit
13/03/07 08:28:20 INFO util.GSet: 2% max memory = 19.84625 MB
13/03/07 08:28:20 INFO util.GSet: capacity      = 2^22 = 4194304 entries
13/03/07 08:28:20 INFO util.GSet: recommended=4194304, actual=4194304
13/03/07 08:28:21 INFO namenode.FSNamesystem: fsOwner=root
13/03/07 08:28:21 INFO namenode.FSNamesystem: supergroup=supergroup
13/03/07 08:28:21 INFO namenode.FSNamesystem: isPermissionEnabled=true
13/03/07 08:28:21 INFO namenode.FSNamesystem: dfs.block.invalidate.limit=100
13/03/07 08:28:21 INFO namenode.FSNamesystem: isAccessTokenEnabled=false accessKeyUpdateInterval=0 min(s), accessTokenLifetime=0 min(s)
13/03/07 08:28:21 INFO namenode.NameNode: Caching file names occuring more than 10 times 
13/03/07 08:28:21 INFO common.Storage: Image file of size 110 saved in 0 seconds.
13/03/07 08:28:21 INFO common.Storage: Storage directory /tmp/hadoop-root/dfs/name has been successfully formatted.
13/03/07 08:28:21 INFO namenode.NameNode: SHUTDOWN_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at localhost/127.0.0.1
************************************************************/

 格式化成功后启动Hadoop所有进程

[root@localhost hadoop-1.0.4]# bin/start-all.sh 
starting namenode, logging to /root/hadoop-1.0.4/libexec/../logs/hadoop-root-namenode-localhost.out
localhost: starting datanode, logging to /root/hadoop-1.0.4/libexec/../logs/hadoop-root-datanode-localhost.out
localhost: starting secondarynamenode, logging to /root/hadoop-1.0.4/libexec/../logs/hadoop-root-secondarynamenode-localhost.out
starting jobtracker, logging to /root/hadoop-1.0.4/libexec/../logs/hadoop-root-jobtracker-localhost.out
localhost: starting tasktracker, logging to /root/hadoop-1.0.4/libexec/../logs/hadoop-root-tasktracker-localhost.out

 启动后我们可以验证一下Hadoop是否安装成功,在浏览器中分别访问以下两个地址:

http://localhost:50030/  (MapReduce的web页面)

http://localhost:50070/  (HDFS的web页面)

如果都能访问,说明Hadoop已经安装成功。

 

附:参考资料

http://blog.csdn.net/zuoanlove/article/details/8255162

http://stackoverflow.com/questions/2004786/error-in-starting-namenode-in-hadoop 

Hadoop报错:Exception in thread "main" java.lang.NoClassDefFoundError: NameNode

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
描述: 如果你用myEclipse进行开发的话,运行时控制台可能会出现以上的错误,原因是jar包版本不统一
出现这个问题的原因是jar包版本不统一,解决方法如下: 我在项目导入了jar包 与myeclipse自带jar冲突
Exception in thread "main" org.hibernate.InvalidMappingException: Could not parse mapping doc
网络转载: Exception in thread "main" java.lang.UnsupportedClassVersionError错误 到现在,差不
最近复习了下hibernate的内容,用于准备面试。另外看了下尚学堂的视频,按照步骤去做了几个实验,
namenode是hadoop的核心,他管理文件系统的命名空间,维护文件系统树以及这个树的所有的文件和索引
今天上机实验,简单的配置了一下基本环境,还以为就可以写作业了呢,谁想,在编译Java文件时,抛出
Eclipse 报 “Exception in thread "main" java.lang.OutOfMemoryError: Java heap space ”错误的
光从字面上来理解,很容易让一些初学者先入为主的认为:SecondaryNameNode(snn)就是NameNode(nn
光从字面上来理解,很容易让一些初学者先入为主的认为:SecondaryNameNode(snn)就是NameNode(nn
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号