2

条件が真であることに基づいて、シェルスクリプトでhive -eを実行しています。これは正常に機能します。このスクリプトをOozieのシェルアクションに入れて実行すると、scriptName.sh:行42:hive:command notfoundexceptionが発生します。

シェルアクションで<env-var>PATH= / usr / lib / hive </ env-var>を渡そうとしましたが、同じエラーscriptName.shが発生するため、そこで間違いを犯していると思います。42行目:hive:コマンドが見つかりません

編集:which hiveシェルスクリプトで 使用しました。その出力は一貫していません。出力には2つのバリエーションがあります:
1。JavaIOException/usr/bin/hiveとともにDelegation token can be issued only with kerberos or web authentication。」

2.2。which : hive not in {.:/sbin:/usr/bin:/usr/sbin:...}

4

2 に答える 2

1

明らかに、シェル環境変数がありません。

それを確認するには、exportoozie によって呼び出されたシェルで使用します。

oozie call shell を使用する場合、簡単な方法は use/bin/bash -l your_scriptです。

PS。PATH はディレクトリのリストであるため${HIVE_HOME}/bin、PATH に追加する必要はありません${HIVE_HOME}/bin/hive

于 2013-02-23T16:33:27.430 に答える