我正在從通過Oozie的shell腳本中的Java程序,我得到下面的錯誤Oozie--的java:找不到命令 - 殼行動
java: command not found
當我運行從邊緣節點我的shell腳本沒有發現任何問題,並且java類沒有任何錯誤地運行,我也得到了期望的輸出。但是,它是運行java命令失敗的oozie作業。
oozie中的所有其他操作都會執行,但是當它遇到java
行時,它會拋出上述錯誤。我知道Hadoop集羣中的所有節點都將安裝Java,那麼爲什麼會出現此錯誤? 下面是java命令,我在我的shell腳本
...
...
java -cp $LOCAL_DIR/libs/integration-tools.jar com.audit.reporting.GenerateExcelReport $LOCAL_DIR/input.txt $LOCAL_DIR/
...
請提供您的想法。
'java:command not found'通常表示您的'PATH'不包含'java'命令的位置。在一個可以成功調用JVM的環境中,將此環境中的'echo「$ PATH」'與'echo「$ PATH」'進行比較。 –
...當然,Java可能會被安裝*,但問題是它安裝的位置目前是否在當前進程的PATH *中。許多操作系統將JVM安裝在'/ usr/lib/jvm/java8-jre-bin'等位置,並且守護進程可能沒有在PATH中的那個位置(無論確切的相關/正確的位置)。 –
順便說一下,全部大寫名稱用於具有操作系統或shell的含義的變量,而具有至少一個小寫字符的名稱則保留給應用程序使用,以防止應用程序錯誤地覆蓋有意義的名稱。請參閱相關的POSIX規範,網址爲http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html –