Yarn協議ApplicationClientProtocol

來源:互聯網
上載者:User

標籤:des   style   io   ar   color   使用   sp   for   檔案   

協議ApplicationClientProtocol

Hadoop-Yarn 源碼閱讀-Yarn 
client與ResourceManager之間的協議,用來

  • 提交、中止作業
  • 擷取應用資訊、叢集metrics資訊、節點資訊、隊列資訊和ACL資訊
各介面說明:
    
 
  1. public GetNewApplicationResponse getNewApplication(GetNewApplicationRequest request) throws YarnException, IOException;

用戶端使用該方法從ResourceManager擷取一個新的ApplicationId以提交一個新的Application(後文使用縮寫App)。ResourceManager(後文使用縮寫RM)響應一個GetNewApplicationResponse類型的值,該值包含一個新的、遞增的ApplicationId和叢集最大可用資源等其他資訊。 
@param:request:要獲得新ApplicationId的ApplicationRequest 
@return:包含ApplicationId的GetNewApplicationRequest類型的值

    
 
  1. public SubmitApplicationResponse submitApplication(SubmitApplicationRequest request) throws YarnException, IOException;

用戶端使用該介面向RM提交一個新的App。 
用戶端需要提供更多資訊,比如隊列;啟動並運行ApplicationMaster的那個container的相關資訊,包括:本地資源(二進位檔案、jars、files等),安全性權杖,環境變數和運行命令。 
當前,當接受一個App提交,RM響應一個(空的)SubmitApplicationResponse;拒絕則拋出一個異常。調用該方法之後應該立即調用getApplicationReport(GetApplicationReportRequest)來確定App是否被正確得提交。 
安全模式下,在接收App提交前,RM會檢查用戶端是否具有隊列的存取權限。 
@param:request:提交新App請求 
@return:(空)接收提交的結果 
@remark:當ResourceRequest超過配置的最低或最高資源邊界,將拋出一個異常

    
 
  1. public KillApplicationResponse forceKillApplication(KillApplicationRequest request) throws YarnException, IOException;

用戶端使用該方法來中止一個已提交的App。 
用戶端通過參數request中的ApplicationId成員指定需要中止的App。 
安全模式下,在中止App前,RM會檢查用戶端是否具有App、隊列的存取權限。 
當前,當中止成功RM響應一個空響應;當拒絕中止,RM拋出一個異常。 
@param:request:中止已提交App的請求 
@return:如上述

    
 
  1. public GetApplicationReportResponse getApplicationReport(GetApplicationReportRequest request) throws YarnException, IOException;

用戶端使用該方法從RM處獲得一個App報告。 
用戶端通過在request中設定ApplicationId來指定想要獲得報告的App。 
安全模式下,在接受App報告請求前,RM檢查用戶端是否有App、隊列的存取權限。 
RM響應一個GetApplicationReportResponse類型的值,該值包含指定App的App報告。 
如果使用者沒有VIEW_APP許可權,以下欄位將被設定成:

  • tracking URL:"N/A"
  • original tracking URL:"N/A"
  • resource usage report:全為-1

@param:request:App報告的請求 
@return:App報告

    
 
  1. public GetClusterMetricsResponse getClusterMetrics(GetClusterMetricsRequest request) throws YarnException, IOException;

用戶端使用該方法從RM獲得叢集的metrics(度量)。 
RM響應一個GetClusterMetricsResponse類型值,該值包含YarnClusterMetrics(包含更多資訊,如叢集中當前的節點數量)。

    
 
  1. public GetApplicationsResponse getApplications(GetApplicationsRequest request) throws YarnException, IOException;

用戶端使用該方法從RM獲得匹配request過濾條件的App報告。 
該方法響應一個GetApplicationsResponse類型的值。GetApplicationsResponse類型包含ApplicationReport。 
如果使用者沒有某個App的VIEW_APP訪問權,會響應request描述的過濾過的回應。

    
 
  1. public GetClusterNodesResponse getClusterNodes(GetClusterNodesRequest request) throws YarnException, IOException;

用戶端使用該方法從RM獲得叢集中所有節點資訊。

    
 
  1. public GetQueueInfoResponse getQueueInfo(GetQueueInfoRequest request) throws YarnException, IOException;

用戶端使用該方法從RM獲得隊列資訊。 
用戶端通過設定GetQueueInfoRequest,可以請求類似used/total資源、子隊列、正在啟動並執行App等資訊。 
安全模式下,在響應隊列資訊之前,RM會校正用戶端是否具有存取權限。

    
 
  1. public GetQueueUserAclsInfoResponse getQueueUserAcls(GetQueueUserAclsInfoRequest request) throws YarnException, IOException;

用戶端使用該方法從RM獲得隊列ACL列表。 
RM響應當前存在的所有隊列的ACL。

    
 
  1. public GetDelegationTokenResponse getDelegationToken(GetDelegationTokenRequest request) throws YarnException, IOException;

用戶端調用該方法獲得授權的令牌,使container能夠和使用對應授權令牌的服務通訊。 
RM響應可以讓用戶端與對應服務通訊的授權令牌。 
響應包含可以讓container用來和ClientRMService(繼承ApplicationClientProtocol)對話的令牌。

    
 
  1. public RenewDelegationTokenResponse renewDelegationToken(RenewDelegationTokenRequest request) throws YarnException, IOException;

更新一個已存在的授權令牌 
@param:request:將被更新的授權令牌 
@return:新授權令牌的失效時間

    
 
  1. public CancelDelegationTokenResponse cancelDelegationToken(CancelDelegationTokenRequest request) throws YarnException,IOException;

撤銷一個已存在授權令牌。

@param:request:將要撤銷的令牌 
@return:空響應

+

Yarn協議ApplicationClientProtocol

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.