我正在使用Ubuntu 16.04 LTS并安装了hadoop 2.7.2。
的输出hadoop版
是
Hadoop 2.7.2 Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r b165c4fe8a74265c792ce23f546c64604acf0e41 由jenkins编写于2016-01-26T00:08Z 用protoc 2.5.0编译 来自校验和的来源d0fda26633fa762bff87ec759ebe689c 此命令使用/usr/local/hadoop-2.7.2/share/hadoop/common/hadoop-common-2.7.2.jar
运行
当我跑
时whereis hadoop
它输出为
hadoop:/ usr / local / hadoop /usr/local/hadoop-2.7.2/bin/hadoop.cmd /usr/local/hadoop-2.7.2/bin/hadoop
但是当我运行命令
时start-all.sh
它说找不到命令。 当我跑的时候
start-dfs.sh
它将输出作为未找到的命令。
当我导航到hadoop目录时,我能够运行这些命令,但我想在不导航到hadoop目录的情况下运行这些命令。
答案 0 :(得分:8)
您的问题是bash不知道在哪里查找./start-all.sh
。
您可以通过打开$HOME/.bashrc
和添加一行来解决此问题:
PATH=$PATH:/usr/local/hadoop/sbin
这告诉bash它应该在'/ usr / local / hadoop / sbin'中查找start-all.sh
。
<强> 注意:的强>
对{em>当前打开的终端<{1}}的更改不会生效。
如果您需要更改以在当前打开的终端中生效,请运行
$HOME/.bashrc