在安装Hadoop2.7.2部署伪分布式集群时,使用命令 start-all.sh 或者 start-dfs.sh 启动时,出现 Error: Cannot find configuration directory: /etc/hadoop 错误。
解决方法:在系统为ubuntu12.04时,修改系统文件/etc/profile,添加内容:
export HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.2
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOOME/sbin:$HADOOP_HOME/lib
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
重启ubuntu或者其它方法使配置生效,即可。
另一种外解决方法:
由于配置是hadoop-2.7.1所以后来在启动过程会发现
终端执行 ./start-yarn.sh
starting yarn daemons
Error: Cannot find configuration directory: /etc/hadoop
Error: Cannot find configuration directory: /etc/hadoop
是找不到目录的原因,通过阅读相应的shell脚本可以找到解决方案~
解决方法:
在hadoop-env.sh 配置一条hadoop配置文件所在目录:
export HADOOP_CONF_DIR=/opt/hadoop-2.7.1/etc/hadoop/
执行命令:
source hadoop-env.sh