linux - PATH 变量不适用于 hadoop

标签 linux hadoop

我在以下路径安装了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/

相关文章:

hadoop - 数据未从 HIVE 中的文件传输到表

java - EMR - 在 Hadoop(和 YARN)中使用自定义日志记录附加程序

hadoop - pig 根据另一列中的值添加列

linux - 如何正确使用 "find ... -exec ..."来移动除少数之外的所有文件和目录?

python - Linux 中 MP4 或 YUV 视频文件中的人脸检测?

java - 为 Java 进程提供某种签名/标识符

hadoop - 这个 Hadoop 命令在 shell 中到底执行了什么?

hadoop - 需要优化配置单元查询

python - PyUSB:为什么 bus.dirname 和 dev.filename 是空字符串?

c - 在c中获取文件文本的行数