hadoop 2.7.2-错误:找不到或加载主类org.apache.hadoop.hdfs.server.namenode.namenode

bejyjqdl  于 2021-05-29  发布在  Hadoop
关注(0)|答案(4)|浏览(627)

我是一个新手,我正在努力找出解决这个问题的办法。为了在ubuntu15.10上安装hadoop2.7.2,我遵循了这个教程
http://idroot.net/tutorials/how-to-install-apache-hadoop-on-ubuntu-14-04/
当我启动“hdfs namenode format”时,我继续收到这个错误:找不到或加载主类org.apache.hadoop.hdfs.server.namenode.namenode
这是bashrc内容

export JAVA_HOME=/usr/lib/jvm/java-8-oracle

export HADOOP_INSTALL=/usr/local/hadoop

export PATH=$PATH:$HADOOP_INSTALL/bin

export PATH=$PATH:$HADOOP_INSTALL/sbin

export HADOOP_MAPRED_HOME=$HADOOP_INSTALL

export HADOOP_COMMON_HOME=$HADOOP_INSTALL

export HADOOP_HDFS_HOME=$HADOOP_INSTALL

export YARN_HOME=$HADOOP_INSTALL

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native

export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"

有人能帮我解决这个问题吗?
多谢卡玛

lkaoscv7

lkaoscv71#

使用ashes脚本解决的问题。主要区别在于使用openjdk而不是oraclejre。
谢谢你的帮助!

acruukt9

acruukt92#

首先确保目录namenode和datanode已经存在于 hdfs-site.xml 文件。您可以使用命令 mkdir 去创造那些。
然后尝试使用

hdfs namenode -format

/usr/local/hadoop/bin/hdfs namenode -format

请注意连字符。
我的hadoop bashrc配置:


# HADOOP VARIABLES START

export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export HADOOP_CLASSPATH=${JAVA_HOME}/lib/tools.jar

# HADOOP VARIABLES END
oprakyz7

oprakyz73#

我也有这个错误。对我来说,这只是因为/share/hadoop/yarn/folder中的一些文件丢失了,这是由于hadoop.tar.gz的下载不完整造成的,而hadoop.tar.gz仍然可以通过命令行进行抽象。我可以帮你,干杯。

guicsvcw

guicsvcw4#

此问题背后的一个原因可能是用户定义的 HDFS_DIR 环境变量。这是由脚本(如中的以下行)获取的 libexec/hadoop-functions.sh :

HDFS_DIR=${HDFS_DIR:-"share/hadoop/hdfs"}
...
if [[ -z "${HADOOP_HDFS_HOME}" ]] &&
   [[ -d "${HADOOP_HOME}/${HDFS_DIR}" ]]; then
  export HADOOP_HDFS_HOME="${HADOOP_HOME}"
fi

解决方案是避免定义环境变量 HDFS_DIR .
就我而言,使用 sudo 有帮助,但原因是错误的:权限没有问题,但是环境变量有问题。

相关问题