2016-06-30 8 views
0

毎日オージージョブのステータスを取得するにはどうすればよいですか?私たちは多くの仕事をOozieコーディネーターで実行しており、現在はHue/Oozieブラウザーを通して監視しています。オージージョブの報告

コーディネータ名/ワークフロー名に日付とステータスが含まれる単一のログファイルを取得する方法はありますか?これを達成するためのプログラムやスクリプトを書くことはできますか?

+0

すべての答えは、Oozieのコマンドラインに焦点を当てています。 **プログラム的な**方法に興味がある場合は、他の投稿を見てください:http://stackoverflow.com/questions/38503520/exporting-jobs-listed-in-oozie-web-console/ –

答えて

1

以下のコマンドを使用して、それを毎日実行するスクリプト/ cronに入れます。

oozie jobs -oozie http://localhost:11000/oozie -filter status=RUNNING -len 2 
oozie jobs -oozie http://localhost:11000/oozie -filter startCreatedTime=2016-06-28T00:00Z\;endcreatedtime=2016-06-28T10:00Z -len 2 

基本的には、ワークフロー/コーディネーター/バンドルに関する情報を取得するためにoozieのjobs APIと-filterコマンドを使用しています。 -filterコマンドは、status/startCreatedTime/nameに基づいてデータを取得するための2つのオプションをサポートしています。

デフォルトでは、コーディネーター/バインド情報を取得する場合は、ワークフロー記録情報が表示されます。 -jobtypeパラメータと値はcoord/bundleとして使用できます。

特に必要なことがあれば教えてください。この機能のために、おしまい文書は少し古くなっています。

+0

実行中のジョブのみが返されます。私は昨日の夜、彼らが成功したか失敗したかを知るために走ったすべての仕事の詳細を知りたい。 – Naveen

+0

私は 'startCreatedTime'パラメータでこの例を追加しました。同様に 'endCreatedTime'を追加して間隔を制限することもできます。 – YoungHobbit

+0

はい。これも機能します。ありがとうございました。 – Naveen

1

コマンドは、特定のコーディネータIDのすべてのワークフローのステータスを取得するために、実行中のすべてのoozieワークフロー

oozie jobs -filter status=RUNNING -len 1000 -oozie http://localhost:11000/oozie 

コマンドのステータスを取得するために、実行中のすべてのoozieコーディネーター

oozie jobs -jobtype coordinator -filter status=RUNNING -len 1000 -oozie http://localhost:11000/oozie 

コマンドのステータスを取得するには

oozie job -info COORDINATOR_ID_HERE 

これらのクエリに基づいて、必要なスクリプトtあなたが望むものを手に入れよう。

規約の説明:

  • oozie:コマンドoozie
  • job/jobs開始する:API
  • len:oozieのURL
  • を指定するのParam:
  • -oozieを表示するoozieワークフロー/コーディネーターの番号を
  • -filter:フィルタのリストを指定するParam。コマンド以下

完全なドキュメントhttps://oozie.apache.org/docs/3.1.3-incubating/DG_CommandLineTool.html

0

私のために働きました。

oozie jobs -oozie http://xx.xxx.xx.xx:11000/oozie -jobtype wf -len 300 | grep 2016-07-01 > OozieJobsStatus_20160701.txt 

ただし、ファイルを解析する必要があります。

+0

はい。このコマンドはうまく動作しますが、最適ではありません。 oozieが提供するさまざまなフィルター・パラメーターを使用できます。 – YoungHobbit