我知道以前有人问过这个问题,但我想不出解决办法。当我试着跑的时候,我得到了下面的错误 hdfs name node -format
:
找不到或加载主类org.apache.hadoop.hdfs.server.namenode.namenode
我按照这个网站的说明安装在我的centos机器上。唯一的区别是我使用root安装,而不是链接中提到的hadoopuser。
巴什尔
# User specific aliases and functions
export JAVA_HOME=/usr/lib/jvm/jre-1.7.0-openjdk.x86_64/
export HADOOP_INSTALL=/usr/local/hadoop
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 PATH=$PATH:$HADOOP_INSTALL/sbin
export PATH=$PATH:$HADOOP_INSTALL/bin
hadoop-env.sh文件
export JAVA_HOME=/usr/lib/jvm/jre-1.7.0-openjdk.x86_64/
Map
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
yarn-site.xml文件
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
core-site.xml文件
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
hdfs-site.xml文件
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>file:///home/hadoopspace/hdfs/namenode</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>file:///home/hadoopspace/hdfs/datanode</value>
</property>
14条答案
按热度按时间9rnv2umw1#
我通过修改.bashrc:
export PATH=$HADOOP_HOME/bin:$PATH
8fq7wneg2#
我也有这个错误。对我来说,问题是在最初的解压过程中没有提取到丢失的文件。
对我有用的是进入您的.tar.gz文件的位置,然后使用以下方法再次解压缩:
请注意,这会覆盖所有保存的文件,因此如果您对任何文件进行了更改,最好在解压缩之前创建hadoop文件夹的副本。
bxjv4tth3#
可能是类路径问题。
将以下内容添加到~/.bashrc
svdrlsy44#
检查并设置
HADOOP_PREFIX
至$HADOOP
rks48beu5#
尝试使用以下命令格式化(name和node之间没有空格&用hadoop替换hdfs命令)
zazmityj6#
谢谢dcsesq。
brew
在mac os 10.9.5上安装hadoop 2.6.0(maverick)将以下环境变量添加到.profile
~/.bash_profile
```export HADOOP_HOME=/usr/local/Cellar/hadoop/2.6.0
export HADOOP_PREFIX=$HADOOP_HOME/libexec
export HADOOP_MAPRED_HOME=$HADOOP_PREFIX
export HADOOP_COMMON_HOME=$HADOOP_PREFIX
export HADOOP_HDFS_HOME=$HADOOP_PREFIX
export YARN_HOME=$HADOOP_PREFIX
source ~/.bash_profile
hdfs namenode -format
qq24tv8q7#
确保您的
hdfs
通过使用,路径是正确的which
```which hdfs
r1zhe5dt8#
对于Windows7上的Hadoopv3.1.2,我不得不
安装cygwin(按照说明)。
设置以下环境变量,注意它们是正斜杠(/)而不是反斜杠(\):
将cygwin和cd重新打开到我的hadoop目录中——必须重新打开以获取新的环境变量。请随意使用~/.bashrc并导出hadoop\u home=。。。等来做这件事。
请确保键入以下内容:
./bin/hdfs.cmd namenode -format
它必须是.cmd,否则它在windows上无法工作。在那之后,它工作得很好。如果仍然有问题,请深入hdfs.cmd文件并添加一些echo调用以打印出它正在运行的内容,尤其是在java调用附近,以查看它正在执行的内容。
m3eecexj9#
我也面临同样的问题。
重新启动终端并尝试执行命令。
需要终端重新启动才能使.bashrc文件中设置的路径变量立即生效
hlswsv3510#
看起来在执行hadoop命令时,并不是所有类(jar)都包含在类路径中。缺少类路径
hadoop-hdfs-<version>.jar
文件。bpzcxfmw11#
添加
导出hadoop\u prefix=/path/到/hadoop/installation/directory
结束时
etc/hadoop/hadoop-env.sh
hadoop安装目录中的文件。允许jvm定位类文件。bvhaajcl12#
我试过上面的建议,但还是犯了同样的错误。设置
HADOOP_CLASSPATH
在您的~/.bashrc
为我工作:export HADOOP_CLASSPATH=$(hadoop classpath):$HADOOP_CLASSPATH
3lxsmp7m13#
该错误是由于hadoop类路径中缺少hadoop hdfs jar文件造成的。在终端中键入'hadoop classpath',检查hdfs jar文件是否存在。如果没有,请将下面的行粘贴到.bashrc中并保存它并将其作为源代码。
您可以通过将位置添加到现有类路径末尾的hdfsjar文件中来创建新的类路径,并用自己的部分替换“newclasspath”部分。
baubqpgj14#
对于仍有问题的人,您需要导出
HADOOP_PREFIX
环境变量。将以下行添加到
~/.bashrc
文件:那就做吧
. ~/.bashrc
在您的终端,然后再试一次,这将修复错误。