紗線存儲關於完成應用的信息,包括hdfs上的運行時間?我只是想通過hdfs上的某些文件(如果確實存在這樣的文件,我已經檢查了日誌並且沒有運行時信息)來獲取應用程序運行時,而不使用任何監視軟件。如何在hadoop紗線上獲得應用運行時間
回答
您可以使用ResourceManager REST來獲取所有Finished應用程序的信息。
http://resource_manager_host:port/ws/v1/cluster/apps?state=FINISHED
A GET
對URL的請求將返回一個JSON響應(也可以獲得XML)。必須爲每個應用程序解析elapsedTime
的響應才能獲取應用程序的運行時間。
要查找持續作業歷史記錄文件,你將需要檢查作業歷史Server或時間軸Server而不是資源管理器:
工作歷史匯聚到HDFS,並可以從作業歷史服務器中可以看出UI(或REST API)。歷史文件存儲在HDFS上的
mapreduce.jobhistory.done-dir
上。作業歷史記錄也可以由時間軸服務器(基於文件系統,又名ATS 1.5)進行聚合,並且可以從時間軸服務器UI(或REST API)中看到。歷史文件存儲在HDFS上的
yarn.timeline-service.entity-group-fs-store.done-dir
上。
由於我使用shell腳本在紗線上運行多個應用程序,如果我可以設置紗線以在應用程序完成時自動返回應用程序的信息?這是否意味着如果沒有這種自動方法,我必須使用'while循環'來經常要求紗線返回完成的應用程序信息? – YunjieJi
@ 0_1_Life您可以運行'yarn application -list -appStates FINISHED'來獲取已完成紗線應用程序ID的列表,同時您維護一個已經有作業歷史記錄的應用程序ID列表。然後每次,如果發現不在列表中的新ID,請運行例如'yarn logs -applicationId application_1484331408245_0014>/tmp/job_0014.log'來獲取並保存日誌信息。這有幫助嗎? –
- 1. 如何運行Giraph紗線(Hadoop的2.6)
- 2. 爲什麼Hadoop紗線(2.7.1)中的平均合併時間爲零?以及如何獲得這個時間precises
- 3. 在Hadoop和紗線上安裝pyspark
- 4. 在package.json腳本對象上運行「紗線運行」時出錯
- 5. 在紗線中並行運行多個hadoop作業
- 6. EMR - 在Hadoop中(和紗線)
- 7. 如何從Java代碼運行hadoop紗線上的字數統計作業?
- 8. 在AMAZON EMR上運行紗線應用程序
- 9. 使用紗線客戶端在Google Cloud上的Hadoop中運行JAR
- 10. 在nixos上使用紗線運行時,elm-make無法編譯
- 11. 在Hadoop羣集中運行火花時,無法通過紗線獲得更快的結果
- 12. hadoop紗線資源管理
- 13. 使用遠程SparkContext在紗線上運行點火作業:紗線應用已結束
- 14. Spark Hive報告pyspark.sql.utils.AnalysisException:u'Table not found:XXX'在紗線羣集上運行時
- 15. 在紗線上運行火花時參數列表太長
- 16. 在紗線上運行Spark時沒有發現類別
- 17. 的Hadoop /紗線分佈殼例如
- 18. 在Google應用引擎上運行hadoop?
- 19. NodeManager未在Hadoop紗線中啓動
- 20. 在紗線上使用Sails.js
- 21. 用紗線運行react-native init
- 22. 如何獲得使用時鐘運行時間()函數
- 23. 爲什麼使用Quicksort獲得線性運行時間?
- 24. 如何獲得rails 2.3.3應用程序在fastcgi上運行Bluehost
- 25. 如何獲得在運行時的WPF
- 26. 如何獲得在運行時
- 27. 如何獲得的值在運行時
- 28. 如何在OS X上運行Hadoop?
- 29. 紗和Hadoop
- 30. 在亞馬遜EMR上用紗線運行sqoop2服務器時出錯
因爲我使用'shell腳本'來在紗線上運行多個應用程序,如果我可以設置紗線以在應用程序完成時自動返回應用程序的信息?這是否意味着如果沒有這種自動方法,我必須使用'while循環'來經常要求紗線返回完成的應用程序信息? – YunjieJi
是的,您必須手動提出請求來獲取應用程序的狀態。當應用程序完成時,紗線提供的計數器包含一些相關信息,但不完全是「經過時間」。 – franklinsijo