教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

一個應(yīng)用程序是如何在Yarn集群上執(zhí)行的?

更新時間:2023年09月06日10時43分 來源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

  在大數(shù)據(jù)領(lǐng)域,YARN(Yet Another Resource Negotiator)是一個用于集群資源管理的開源框架,它可以用于執(zhí)行和管理各種大數(shù)據(jù)應(yīng)用程序,如Hadoop、Spark等。以下是一個簡要的解釋,說明一個應(yīng)用程序如何在YARN集群上執(zhí)行的過程:

  1.提交應(yīng)用程序:

  首先,用戶或應(yīng)用程序開發(fā)人員需要將他們的應(yīng)用程序提交給YARN集群。這通常通過使用命令行工具或API來完成。應(yīng)用程序的提交包括應(yīng)用程序的描述、所需資源和其他配置信息。

  2.ResourceManager分配資源:

  一旦應(yīng)用程序被提交,YARN的ResourceManager(RM)會接收到這個請求。RM負(fù)責(zé)整個集群的資源分配和管理。它會檢查可用資源,并嘗試為應(yīng)用程序分配所需的資源,包括CPU、內(nèi)存和其他資源。資源分配是根據(jù)集群上的資源配置和策略來進行的。

  3.ApplicationMaster啟動:

  一旦資源分配完成,YARN會為應(yīng)用程序啟動一個稱為ApplicationMaster(AM)的組件。AM是一個用于管理應(yīng)用程序執(zhí)行的進程,它負(fù)責(zé)在集群上啟動任務(wù)、監(jiān)視任務(wù)的狀態(tài)、處理失敗等。每個應(yīng)用程序都有一個獨立的AM實例。

  4.任務(wù)執(zhí)行:

  AM負(fù)責(zé)啟動應(yīng)用程序的任務(wù),這些任務(wù)可能是MapReduce任務(wù)、Spark任務(wù)、Tez任務(wù)等,具體取決于應(yīng)用程序類型。任務(wù)會在集群的各個節(jié)點上執(zhí)行,利用已分配給應(yīng)用程序的資源。

  5.監(jiān)控和容錯:

  AM會持續(xù)監(jiān)視應(yīng)用程序的執(zhí)行情況。如果某個任務(wù)失敗或超時,AM會嘗試重新啟動或重新分配任務(wù),以確保應(yīng)用程序的正常執(zhí)行。此外,YARN還提供了日志和監(jiān)控工具,幫助用戶跟蹤應(yīng)用程序的狀態(tài)和性能。

  6.完成和清理:

  一旦應(yīng)用程序的所有任務(wù)都成功完成,AM會向ResourceManager發(fā)送完成通知。此時,ResourceManager可以釋放為該應(yīng)用程序保留的資源,并將這些資源重新分配給其他應(yīng)用程序。應(yīng)用程序的輸出數(shù)據(jù)通常存儲在HDFS(Hadoop分布式文件系統(tǒng))或其他分布式存儲中,供后續(xù)分析和處理使用。

  總的來說,YARN允許多個不同類型的大數(shù)據(jù)應(yīng)用程序在同一個集群上共享資源,并提供了資源管理、任務(wù)調(diào)度和容錯機制,以確保這些應(yīng)用程序能夠高效地執(zhí)行。每個應(yīng)用程序都有自己的ApplicationMaster來管理其執(zhí)行過程,并與ResourceManager協(xié)同工作,以實現(xiàn)資源分配和管理。這種靈活性和資源利用率使得YARN成為大數(shù)據(jù)生態(tài)系統(tǒng)中的關(guān)鍵組件之一。

0 分享到:
和我們在線交談!