我在以下路径安装了hadoop, /home/我的名字/hadoop-2.7.2
/home/myname/hadoop-2.7.2/bin/hadoop
包含可执行文件“hadoop”
现在,我在 .bashrc 中设置了我的 $PATH 变量,然后我做了一个 echo $PATH,我得到了
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:
/home/myname/hadoop-2.7.2/:
/home/myname/hadoop-2.7.2/bin:
/home/myname/hadoop-2.7.2/sbin
我在这里做了一些格式化。当我运行 bin/hadoop 时,我得到“没有这样的文件或目录”,但是当我运行 hadoop 时,我得到了预期的结果。
不知道我做错了什么
最佳答案
那是因为您在 PATH 变量中声明的 hadoop 不在 bin 目录中,而是在此处:
/home/myname/hadoop-2.7.2/bin/hadoop
因此,要运行 bin/hadoop,您必须位于/home/myname/hadoop-2.7.2 目录中。
由于您在 PATH 变量中的声明,hadoop 命令为您工作
例如,如果您想让所有用户都可以使用该命令,请考虑将文件夹移动到/opt。
如果使用 debian 或基于 debian 的发行版,请查看此命令
http://linux.die.net/man/8/update-alternatives
我对你想要实现的目标感到困惑。因为当您运行 hadoop 时,您会得到预期的结果。
关于linux - PATH 变量不适用于 hadoop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35870230/