hadoop-2.7.1 按照官方步骤配置完成后启动总是遇到类似
Error: Could not find or load main class org.apache.hadoop.hdfs.server.namenode.NameNode
等找不到相应的jar问题。
该问题原因是没有将相应的jar包加入到CLASSPATH环境变量当中。
在配置过程中,通常在~/.bashrc中配置相应的CLASSPATH,但是即使配置完成,启动hdfs时CLASSPATH会被在$HADOOP_HOME/libexec/hadoop-config.sh中重置,导致~/.bashrc的配置失效。
所以如果是在~/.bashrc中配置CLASSPATH变量的,需要更改$HADOOP_HOME/libexec/hadoop-config.sh中CLASSPATH变量的初始赋值,将原来存在的变量追加CLASSPATH变量当中,在文件$HADOOP_HOME/libexec/hadoop-config.sh
line 197: CLASSPATH="${HADOOP_CONF_DIR}"
=>改为:CLASSPATH="${HADOOP_CONF_DIR}":$CLASSPATH
完成后,~/.bashrc中的CLASSPATH变量值就不会丢失了。
再运行脚本执行
./bin/hdfs namenode -format
./sbin/start-dfs.sh
启动成功。