首頁  >  文章  >  未找到 start-all.sh、start-dfs.sh 指令

未找到 start-all.sh、start-dfs.sh 指令

PHPz
PHPz轉載
2024-02-09 13:24:09749瀏覽

php小編蘋果在使用Hadoop時,可能會遇到一個常見問題:「找不到 start-all.sh、start-dfs.sh 指令」。這個問題通常出現在啟動Hadoop叢集時,可能是由於路徑配置不正確或腳本檔案不存在所致。要解決這個問題,我們需要檢查Hadoop的安裝路徑和環境變數配置,確保正確設置,並確保相關的腳本檔案存在於相應的路徑下。以下將詳細介紹如何解決這個問題,讓我們一起來看看吧!

問題內容

我使用的是 ubuntu 16.04 lts 並安裝了 hadoop 2.7.2。

的輸出
  hadoop version

  hadoop 2.7.2
  subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r b165c4fe8a74265c792ce23f546c64604acf0e41
  compiled by jenkins on 2016-01-26t00:08z
  compiled with protoc 2.5.0
  from source with checksum d0fda26633fa762bff87ec759ebe689c
  this command was run using /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 目錄的情況下運行這些命令。

解決方法

您的問題是 bash 不知道在哪裡查找 ./start-all.sh

您可以透過開啟 $home/.bashrc新增如下所示的行來解決此問題:

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

這告訴 bash 它應該在“/usr/local/hadoop/sbin”中查找 start-all.sh

注意:

$home/.bashrc 的變更不會在目前開啟的任何終端中生效。

如果您需要使變更在目前開啟的終端中生效,請執行

source $home/.bashrc

我必須使用 find 來搜尋它。

find / -iname start-all.sh 2>  /dev/null

發現:

/usr/local/sbin/start-all.sh
/usr/local/cellar/hadoop/3.3.4/libexec/sbin/start-all.sh
/usr/local/cellar/hadoop/3.3.4/sbin/start-all.sh

所以除了前面的答案之外,$home/.bashrc 中的變數如下:

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

注意:我不確定應該將哪一個設定為 path

#

以上是未找到 start-all.sh、start-dfs.sh 指令的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:stackoverflow.com。如有侵權,請聯絡admin@php.cn刪除