2016-07-08 27 views
0

ファイルを取得し、テキストを抽出し、シェルスクリプトを実行してハイブスクリプトを実行するフローがあります。 (私はちょうどファイルから日付を引いて、-hivevarとして渡しています)。です(..ハイブスクリプトが完了し、データが私のテーブルに挿入されているが、ExecuteStreamCommandは無期限(上隅にある1滞在)を実行したままで、私はnifiを再起動する必要がExecuteStreamCommandはHiveを実行するShell Scriptを実行するとハングします

#!/bin/bash 
endDate=$1 

CONNECT="jdbc:hive2://master2:10000/default" 

beeline -u "$CONNECT" -n root -hivevar endDate="$endDate" -f /pathToScript/Hive_scipt.hql 

:私のシェルスクリプトは次のようになりますこれを処理するより良い方法はありますか?)。私は、クエリのサイズを小さくした場合ExecuteStreamCommandは文句を言わないハングアップ(私のハイブのクエリは労働組合の数である)

  • 私はいくつかのことを気づきました。

  • ジョブがハングすると、Resource ManagerのAMはかなりの時間〜10分間実行されたままになります。 1つのコンテナでHive CLI Tezセッションを作成するときのような並べ替え。クエリのサイズを小さくしても、ジョブがハングしないと、AMはすぐに終了状態になります。 - 完全なクエリまたはスクリプトをコマンドライン経由で手動で実行すると正常に動作します。
  • 動作に一貫性がありません。時にはそれはハングアップしません、時々それは...(ほとんどの場合.. ..)

すべてのアイデア? app.logやアプリケーションログで何も見つかりませんでした

答えて

0

これをコマンドラインから実行すると、Tezなどの多くの出力(標準出力と標準エラーの両方)が生成されますか/ MRの進歩?

ビーラインは--silent = trueオプション(何らかの理由で実際に出力が必要な場合を除きます)、または-Sを使用して(ハイビジョンではありますが)使用してください。出力が問題であれば、それはそれを軽減するはずです。

関連する問題