2016-06-25 121 views
4

我使用Ubuntu 16.04 LTS並安裝了hadoop 2.7.2。的start-all.sh,找不到start-dfs.sh命令

的Hadoop版本

輸出爲

的Hadoop 2.7.2 顛覆https://git-wip-us.apache.org/repos/asf/hadoop.git -r b165c4fe8a74265c792ce23f546c64604acf0e41 詹金斯在2016-01-26T00編譯:08Z 編譯時protoc 2.5.0 源自校驗和d0fda26633fa762bff87ec759ebe689c 該命令使用/ usr/local/hadoop -2.7.2 /共享/ hadoop的/普通/ Hadoop的共2.7.2.jar

和當我運行

whereis的hadoop

它給作爲

輸出

Hadoop的:在/ usr /本地/ 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

你的意思是,當你在'在/ usr /本地/ hadoop'目錄它的工作原理/不'/ usr/local/hadoop/start-all.sh'工作? –

+0

它的工作在/ usr/local/hadoop/sbin通過命令'./start-all.sh'而不是'start-all.sh' –

+0

你用'echo $ PATH'得到了什麼? –

回答

6

你的問題是bash不知道在哪裏尋找./start-all.sh

PATH=$PATH:/usr/local/hadoop/sbin 

這是告訴bash,它應該是在 '在/ usr /本地/ Hadoop的/ sbin目錄' 爲start-all.sh

您可以通過打開$HOME/.bashrc添加一條線,看起來像這樣解決這個問題。

注:

更改$HOME/.bashrc不參與是目前打開的任何終端的影響。

如果您需要更改才能在當前打開一個終端影響,運行

source $HOME/.bashrc 
+0

在$ HOME/.bashrc文件中最後一行是export HADOOP_HOME =/usr/local/hadoop/ export JAVA_HOME =/usr/ export PATH = $ PATH:$ HADOOP_HOME/bin/ 我已經改變了路徑的最後一行PATH = $ PATH:/ usr/local/hadoop/sbin,如你所說,但沒有得到結果 –

+0

它仍然給'找不到命令'錯誤? –

+0

哦,謝謝。我在同一個終端上運行它。我剛剛重新打開我的終端,現在它運行良好。謝謝。 –