错误:找不到或加载主类org.apache.hadoop.hdfs.server.namenode.namenode已尝试所有解决方案,错误仍然存在

hkmswyz6  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(525)

我按照教程安装hadoop。hadoop1.x对此进行了解释,但我使用的是hadoop-2.6.0
在执行以下命令之前,我已经成功地完成了所有步骤。
bin/hadoop namenode-格式
在执行上述命令时,出现以下错误。
错误:找不到或加载主类org.apache.hadoop.hdfs.server.namenode.namenode
我的hadoop-env.sh文件

The java implementation to use.
export JAVA_HOME="C:/Program Files/Java/jdk1.8.0_74"

# The jsvc implementation to use. Jsvc is required to run secure datanodes

# that bind to privileged ports to provide authentication of data transfer

# protocol.  Jsvc is not required if SASL is configured for authentication of

# data transfer protocol using non-privileged ports.

# export JSVC_HOME=${JSVC_HOME}

export HADOOP_PREFIX="/home/582092/hadoop-2.6.0"

export HADOOP_HOME="/home/582092/hadoop-2.6.0"
export HADOOP_COMMON_HOME=$HADOOP_HOME

# export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

export HADOOP_HDFS_HOME=$HADOOP_HOME
export PATH=$PATH:$HADOOP_PREFIX/bin

export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HADOOP_HOME/share/hadoop/hdfs/hadoop-hdfs-2.6.0.jar

export HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-"/etc/hadoop"}

core-site.xml文件
core-site.xml图像
hdfs-site.xml文件
dfs.data.dir/home/582092/hadoop dir/datadir dfs.name.dir/home/582092/hadoop dir/namedir
请帮我解决这个问题。

sqxo8psd

sqxo8psd1#

此问题背后的一个原因可能是用户定义的 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 .
问题注解中的建议是正确的-使用 hadoop classpath 命令来确定 hadoop-hdfs-*.jar 文件是否存在于类路径中。他们在我的案子里失踪了。

相关问题