【问题标题】:User in Unix not able to run hadoop commandUnix 用户无法运行 hadoop 命令
【发布时间】:2014-03-10 11:55:09
【问题描述】:

我安装了 Hadoop 并创建了一个名为 hduser 的用户并将 hadoop 文件夹的所有者更改为 hduser。

安装 Hadoop 后,我尝试执行 hadoop 命令来检查它是否已安装,但它给出的“hadoop”命令未找到。

然后我给了 hduser 对 hadoop 文件夹内所有文件的执行权限,包括 bin 文件夹 但是输出还是一样的。

当我以 root 用户身份尝试相同的 hadoop 命令时,它工作正常。

我认为它与 unix 命令有关。请帮我给我的用户执行hadoop命令的权限。

如果我切换到 root,那么 hadoop 命令可以正常工作。

【问题讨论】:

    标签: unix hadoop installation


    【解决方案1】:

    这不是权限问题。如果你输入/usr/local/hadoop/bin/hadoop,你仍然可以执行hadoop,对吧?

    问题在于$PATH 是特定于用户的。 您必须将 $HADOOP_HOME/bin 添加到 $PATH,作为 hduser,而不是作为 root。首先以 hduser 身份登录(或者只输入su hduser)然后export PATH=$PATH:/$HADOOP_HOME/bin,正如@iamkristian 建议的那样,其中$HADOOP_HOME 是您放置hadoop 的目录(通常是/usr/local/hadoop)。

    【讨论】:

    • 非常感谢,这正是我想知道的。
    【解决方案2】:

    我听起来好像 hadoop 不在你的路径中。您可以使用

    进行测试
    which hadoop
    

    如果这给了您command not found,您可能只需将其添加到您的路径中。根据您安装 hadoop 的位置,您需要将其添加到您的 ~/.bashrc

    export PATH=$PATH:/usr/local/hadoop/bin/
    

    然后重新打开你的终端

    【讨论】:

    • 我已经设置了它并在哪个命令中显示它。问题是,以 root 用户身份显示它,但是当我切换到 hduser 时,它没有显示路径。
    • 你把上面的内容加到hduser的.bashrc中了吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-19
    • 1970-01-01
    • 2016-11-04
    • 2014-02-13
    相关资源
    最近更新 更多