0
我在提交工作時錯誤地使用了「hadoop -jar」而不是「hadoop jar」。爲什麼「hadoop -jar」命令僅啓動本地工作?
在這種情況下,我的jar包不能提交給集羣,只有「本地工作亞軍」將啓動,這讓我很困惑。
任何人都知道的原因?或者「hadoop jar」和「hadoop -jar」命令的區別?
謝謝!
我在提交工作時錯誤地使用了「hadoop -jar」而不是「hadoop jar」。爲什麼「hadoop -jar」命令僅啓動本地工作?
在這種情況下,我的jar包不能提交給集羣,只有「本地工作亞軍」將啓動,這讓我很困惑。
任何人都知道的原因?或者「hadoop jar」和「hadoop -jar」命令的區別?
謝謝!
/usr/bin/hadoop jar是您的Hadoop的$HADOOP_HOME/bin/hadoop
腳本需要的參數,其中$ HADOOP_HOME是您保存hadoop相關文件的地方。
摘自的Hadoop腳本
elif [ "$COMMAND" = "jar" ] ; then
CLASS=org.apache.hadoop.util.RunJar
HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS"
,並
elif [[ "$COMMAND" = -* ]] ; then
# class and package names cannot begin with a -
echo "Error: No command named \`$COMMAND' was found. Perhaps you meant \`hadoop ${COMMAND#-}'"
exit 1
這裏COMMAND = 「罐子」,當COMMAND = - *或罐子應該拋出一個異常,如上面的編碼。我不知道你甚至可以運行一個本地jar。
謝謝你的回覆。我發現我的'hadoop'腳本與上面給出的不同,但沒有像'「$ COMMAND」= - *'這樣的條件。 – thomaslee
你使用哪種Hadoop的發行版本?可能那時我可以幫忙。 –