Hadoop格式化namenode时出错
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop格式化namenode时出错相关的知识,希望对你有一定的参考价值。
core-site.xml如下:<configuration><property> <name>hadoop.tmp.dir</name> <value>file:/usr/local/hadoop/tmp</value> </property> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property></configuration>Hdfs-site.xml如下:<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/usr/local/hadoop/tmp/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/usr/local/hadoop/tmp/dfs/data</value> </property> </configuration>格式化namenode时提示错误如下,
两个配置文件core-site.xml和Hdfs.xml分别如上所示。hadoop-env.sh和yarn-env.sh也已经配置过,不知道为什么报错。
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hdfs/server/namenode/NameNode
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hdfs.server.namenode.NameNode
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: org.apache.hadoop.hdfs.server.namenode.NameNode. Program will exit.
可修改 conf/hadoop-env.sh,增加
export HADOOP_COMMON_HOME=/usr/hadoop/ (hadoop的安装目录)
并且把JAVA_HOME配置好追问
hadoop-env.s已经配置过了
参考技术A 配置namenode.dir和datanode.dir的时候,使用本地文件<value>file:///XXXXX</value>
协议是file,然后冒号两个反斜杠
然后就是/开头的绝对路径
总共有三个连续的反斜杠 参考技术B 楼主问题解决了吗,我也遇到了同样的问题
无法在 hadoop 中格式化 Namenode
【中文标题】无法在 hadoop 中格式化 Namenode【英文标题】:Could not format the Namenode in hadoop 【发布时间】:2016-10-10 12:23:31 【问题描述】:通过执行命令“bin/hadoop namenode -format”格式化namenode时,我得到这个错误:
hduser@ubuntu:~/hadoop/bin$ ./hadoop namenode -format 不推荐使用:不推荐使用此脚本执行 hdfs 命令。 而是使用 hdfs 命令。
错误:无法找到或加载主类 org.apache.hadoop.hdfs.server.namenode.NameNode
【问题讨论】:
您是否在 ~/.bashrc 中正确导出 HADOOP_HOME? 【参考方案1】:尝试删除所有 hadoop 临时数据 rm -Rf /app/hadoop/tmp/* 然后再尝试格式化
【讨论】:
【参考方案2】:这意味着您不应该使用hadoop namenode -format
,而是使用hdfs namenode -format
,因为它已被弃用。
【讨论】:
【参考方案3】:有效吗?
~/hadoop/bin/hdfs namenode -format
【讨论】:
以上是关于Hadoop格式化namenode时出错的主要内容,如果未能解决你的问题,请参考以下文章