Hadoop YARN中web服務的REST API介紹
本文轉自:
轉載自過往記憶(https://www.iteblog.com/)
歡迎前往原部落格檢視學習,還參考此篇部落格:https://blog.csdn.net/lumingkui1990/article/details/52175263
Hadoop YARN自帶了一系列的web service REST API,我們可以通過這些web service訪問叢集(cluster)、節點(nodes)、應用(application)以及應用的歷史資訊。根據API返回的型別,這些URL源歸會類到不同的組。一些API返回collector型別的,有些返回singleton型別。這些web service REST API的語法如下:
http://{http address of service}/ws/{version}/{resourcepath}
其中,{http address of service}是我們需要獲取資訊的伺服器地址,目前支援訪問ResourceManager, NodeManager,MapReduce application master, and history server;{version}是這些API的版本,目前只支援v1;{resourcepath}定義singleton資源或者collection資源的路徑。
下面舉例說明這些web service怎麼用。
假設你有一個application_1388830974669_1540349作業,並且執行完了。可以通過下面的命令得到這個作業的一些資訊:
|
上面的執行結果是返回一個Json格式的,如下:
"amContainerLogs" : "http://host.domain.com:8042/node/containerlogs/container_1326821518301_0010_01_000001" ,
|
根據這些資訊,使用者可以獲取到更多關於application_1326821518301_0010的資訊,比如大家可以通過上面Json中的trackingUrl從ResourceManage中得到更進一步的資訊:
|
如果使用者希望得到上述job id為job_1326821518301_10_10作業的一些task資訊可以用下面命令執行:
|
送上面可以看出,map任務已經完成了,但是reduce任務還在跑。如果使用者需要看一下task_1326821518301_10_10_r_0 task的資訊,可以用下面的命令:
|
reduce attempt 還在執行,如果使用者需要檢視對應的attempt當前的counter values,可以用下面命令:
|
當job完成之後,使用者希望從歷史伺服器中獲取這些作業的資訊,可以用下面命令:
|
使用者也可以從ResourceManager中獲取到最終applications的資訊:
> 檢視指定佇列的所有任務: > 檢視指定任務的詳細資訊: > 監控任務: > 殺死任務: > 查詢叢集排程器詳情(包含佇列詳情): > 查詢整個叢集指標: |