我们正在使用来自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
答案 0 :(得分:1)
看起来你正在使用tarball?
尝试设置覆盖HADOOP_LOG_DIR
配置文件中的默认etc/hadoop/hadoop-env.sh
位置,如下所示:
export HADOOP_LOG_DIR=/path/to/hadoop/extract/logs/
然后重试sbin/start-dfs.sh
,它应该有效。
在打包环境中,启动 - 停止脚本经过调整,通过相同的HADOOP_LOG_DIR
env-var为每种类型的服务提供唯一的位置,因此它们没有您遇到的相同问题。
如果您正在使用软件包,请不要使用这些脚本,而只是执行:
service hadoop-hdfs-namenode start
service hadoop-hdfs-datanode start
service hadoop-hdfs-secondarynamenode start