2017-05-19 6 views
0

Hadoopクラスタで実行されているアプリケーションを一覧表示しようとしています。私は次のようにアプリケーションの状態によってフィルタリングするためのリストを取得することができますyarn application -list:今日または過去24時間のリストをフィルタリングする方法は?

>yarn application -list -appStates FINISHED 

をしかし、それはまだ全体の歴史をプルアップ(最後の4-5日間、私は糸タイムラインサーバ設定に基づいて推測します)。

特定の日付または過去24時間のようにフィルタリングする方法はありますか?

答えて

1

RM Apps APIを使用してこれを行うことができます。あなたが実行できる簡単なテストのために:

$ date +"%s" 
1495215569 
$ let x=1495215569-86400 
$ echo $x 
1495129169 
$ curl 'RMURL/ws/v1/cluster/apps?startedTimeBegin=1495129169000' | python -m json.tool 

これは日付が実行されたときに起動アプリをマイナス1日(86400秒)を引き出し、それらを表示します。時間パラメータが秒単位ではなくミリ秒かかるので、000を追加する必要があります。サポートされているパラメータは次のとおりです。

  • startedTimeBegin - この時から始まる開始時間を持つアプリケーション、エポック
  • startedTimeEnd以来、ミリ秒で指定 - エポック
  • finishedTimeBegin以来、ミリ秒で指定されたこの時点で終了開始時間を持つアプリケーション、 - エポック
  • finishedTimeEnd以来、ミリ秒で指定されたこの時から始まる終了時間を持つアプリケーション、 - アプリケーション終了時間とこの時間で終わる、エポックからミリ秒で指定

詳細はhttps://hadoop.apache.org/docs/r2.7.1/hadoop-yarn/hadoop-yarn-site/ResourceManagerRest.html#Cluster_Applications_APIを参照してください。

+0

恐ろしい@ tk421。これ以上の修正を加えれば、最後の24時間SPARKとSUCCEEDEDアプリケーションをすべて一覧表示する方法です: 'curl" http://atl-hdp-022.afy.gbl:8088/ws/v1/cluster/apps? %s%3N'&applicationTypes = SPARK&finalStatus = SUCCEEDED " – Viren

+0

これはうまくいくようです – tk421

関連する問題