我们正在使用来自cloudera的cdh4-0.0发行版.我们无法使用以下命令启动守护进程.
>start-dfs.sh
Starting namenodes on [localhost]
hduser@localhost's password:
localhost: mkdir: cannot create directory `/hduser': Permission denied
localhost: chown: cannot access `/hduser/hduser': No such file or directory
localhost: starting namenode, logging to /hduser/hduser/hadoop-hduser-namenode-canberra.out
localhost: /home/hduser/work/software/cloudera/hadoop-2.0.0-cdh4.0.0/sbin/hadoop-daemon.sh: line 150: /hduser/hduser/hadoop-hduser-namenode-canberra.out: No such file or directory
localhost: head: cannot open `/hduser/hduser/hadoop-hduser-namenode-canberra.out' for reading: No such file or directory
Run Code Online (Sandbox Code Playgroud)
看起来您正在使用 tarball?
HADOOP_LOG_DIR尝试在配置文件中设置覆盖默认位置etc/hadoop/hadoop-env.sh,如下所示:
export HADOOP_LOG_DIR=/path/to/hadoop/extract/logs/
Run Code Online (Sandbox Code Playgroud)
然后重试sbin/start-dfs.sh,它应该可以工作。
在打包环境中,启动-停止脚本经过调整,通过相同的环境变量为每种类型的服务提供唯一的位置HADOOP_LOG_DIR,因此它们不会出现您所看到的相同问题。
如果您使用包,请不要使用这些脚本,而只需执行以下操作:
service hadoop-hdfs-namenode start
service hadoop-hdfs-datanode start
service hadoop-hdfs-secondarynamenode start
Run Code Online (Sandbox Code Playgroud)