0
我想列出在Hadoop集羣上運行的應用程序。我可以得到列表中的應用現狀進行過濾,如下所示:紗線應用-list:如何過濾今天或過去24小時的列表?
>yarn application -list -appStates FINISHED
但仍然拉起整個歷史(過去的4-5天,我想基於紗線時間軸服務器配置)。
有沒有一種方法可以過濾特定的日期或類似過去24小時?
我想列出在Hadoop集羣上運行的應用程序。我可以得到列表中的應用現狀進行過濾,如下所示:紗線應用-list:如何過濾今天或過去24小時的列表?
>yarn application -list -appStates FINISHED
但仍然拉起整個歷史(過去的4-5天,我想基於紗線時間軸服務器配置)。
有沒有一種方法可以過濾特定的日期或類似過去24小時?
您可以使用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
該拉時的日期被減一天(86400秒)運行啓動,並顯示他們的應用程序。您需要添加000,因爲時間參數需要毫秒而不是秒。支持的參數是:
太棒了@ tk421。稍微修改一下,我打算在過去24小時列出所有SPARK和SUCCEEDED應用程序: 'curl「http://atl-hdp-022.afy.gbl:8088/ws/v1/cluster/apps? startedTimeBegin ='date +%s%3N -d'1 days ago''&startedTimeEnd ='date +%s%3N'&applicationTypes = SPARK&finalStatus = SUCCEEDED「' – Viren
是的,這看起來應該可行。 – tk421