在 ubuntu 12.04lts 上安装 hadoop 时出现 start-all.sh 错误

Posted

技术标签:

【中文标题】在 ubuntu 12.04lts 上安装 hadoop 时出现 start-all.sh 错误【英文标题】:start-all.sh error while installing hadoop on ubuntu 12.04lts 【发布时间】:2013-02-28 13:52:03 【问题描述】:

hadoop-1.1.1 安装我一直在参考this link。

我的所有文件和权限都已根据此链接设置。 但我收到此错误。请帮助。

hduser@ubuntu:/usr/local/hadoop$ bin/start-all.sh mkdir: 无法创建 目录/usr/local/hadoop/libexec/../logs': Permission denied chown: cannot access/usr/local/hadoop/libexec/../logs':没有这样的文件 或目录开始namenode,登录到 /usr/local/hadoop/libexec/../logs/hadoop-hduser-namenode-ubuntu.out /usr/local/hadoop/bin/hadoop-daemon.sh:第 136 行: /usr/local/hadoop/libexec/../logs/hadoop-hduser-namenode-ubuntu.out: 没有这样的文件或目录头:无法打开 /usr/local/hadoop/libexec/../logs/hadoop-hduser-namenode-ubuntu.out' for reading: No such file or directory localhost: mkdir: cannot create directory/usr/local/hadoop/libexec/../logs':权限被拒绝 本地主机:chown:无法访问/usr/local/hadoop/libexec/../logs': No such file or directory localhost: starting datanode, logging to /usr/local/hadoop/libexec/../logs/hadoop-hduser-datanode-ubuntu.out localhost: /usr/local/hadoop/bin/hadoop-daemon.sh: line 136: /usr/local/hadoop/libexec/../logs/hadoop-hduser-datanode-ubuntu.out: No such file or directory localhost: head: cannot open /usr/local/hadoop/libexec/../logs/hadoop-hduser-datanode-ubuntu.out' 阅读:没有这样的文件或目录本地主机:mkdir:无法创建 目录/usr/local/hadoop/libexec/../logs': Permission denied localhost: chown: cannot access/usr/local/hadoop/libexec/../logs': 没有这样的文件或目录 localhost:正在启动 secondarynamenode, 登录到 /usr/local/hadoop/libexec/../logs/hadoop-hduser-secondarynamenode-ubuntu.out 本地主机:/usr/local/hadoop/bin/hadoop-daemon.sh:第 136 行: /usr/local/hadoop/libexec/../logs/hadoop-hduser-secondarynamenode-ubuntu.out: 没有这样的文件或目录 localhost:head: 无法打开 /usr/local/hadoop/libexec/../logs/hadoop-hduser-secondarynamenode-ubuntu.out' for reading: No such file or directory mkdir: cannot create directory /usr/local/hadoop/libexec/../logs':权限被拒绝 chown:不能 访问/usr/local/hadoop/libexec/../logs': No such file or directory starting jobtracker, logging to /usr/local/hadoop/libexec/../logs/hadoop-hduser-jobtracker-ubuntu.out /usr/local/hadoop/bin/hadoop-daemon.sh: line 136: /usr/local/hadoop/libexec/../logs/hadoop-hduser-jobtracker-ubuntu.out: No such file or directory head: cannot open /usr/local/hadoop/libexec/../logs/hadoop-hduser-jobtracker-ubuntu.out' 阅读:没有这样的文件或目录本地主机:mkdir:无法创建 目录/usr/local/hadoop/libexec/../logs': Permission denied localhost: chown: cannot access/usr/local/hadoop/libexec/../logs': 没有这样的文件或目录 localhost:启动 tasktracker,登录到 /usr/local/hadoop/libexec/../logs/hadoop-hduser-tasktracker-ubuntu.out 本地主机:/usr/local/hadoop/bin/hadoop-daemon.sh:第 136 行: /usr/local/hadoop/libexec/../logs/hadoop-hduser-tasktracker-ubuntu.out: 没有这样的文件或目录 localhost:head: 无法打开 `/usr/local/hadoop/libexec/../logs/hadoop-hduser-tasktracker-ubuntu.out' 供阅读:没有这样的文件或目录

【问题讨论】:

你在执行“bin/start-all.sh”之前是否格式化了namenode。看起来您的名称节点格式不正确。 另外请检查/usr/local/hadoop/log/的权限。可以hduser访问这个目录吗? ***.com/questions/11672672/… 【参考方案1】:

由于错误表明您遇到了权限问题。 你需要给 hduser 适当的权限。试试:

sudo chown -R hduser /usr/local/hadoop/

【讨论】:

【参考方案2】:

运行此命令更改hadoop目录的权限

sudo chmod 750 /app/hadoop

【讨论】:

【参考方案3】:

以下是 2 条非常有用的建议:

    检查一下HADOOP_HOME和JAVA_HOME是否设置好了 .bashrc 文件。有时,不设置这些环境变量 启动hadoop集群时也可能导致错误。

    通过查看 /usr/local/hadoop/logs 目录中生成的日志文件来调试错误也很有用。

【讨论】:

以上是关于在 ubuntu 12.04lts 上安装 hadoop 时出现 start-all.sh 错误的主要内容,如果未能解决你的问题,请参考以下文章

在 ubuntu 12.04lts 上安装 hadoop 时出现 start-all.sh 错误

text 如何在Ubuntu LTS上安装最新的gcc(12.04,14.04,16.04)

求助,怎样在Ubuntu12.04LTS上搭建GTK开发环境

如何检查在 Ubuntu Linux 12.04 LTS 中启用/禁用了哪些 PHP 扩展?

Ubuntu 12.04 LTS ,如何安装Dr.COM客户端?

Play 在 ubuntu 12.04 LTS 上运行时给出“非法指令”