yarn的介紹

### Yarn 的基本概念

?

Yarn 是 Hadoop 生態系統中的一個重要組成部分,它是一種分布式資源管理框架,旨在為大規模數據處理提供高效的資源管理和調度能力。以下是關于 Yarn 的一些核心概念:

?

#### 1. **Yarn 的定義**

Yarn 是一個資源調度平臺,其主要功能是為計算程序(如 MapReduce)提供服務器運算資源。它可以看作是一個分布式的操作系統平臺,而像 MapReduce 這樣的計算框架則是運行在其上的應用程序。

?

---

?

#### 2. **Yarn 的架構組成**

?

Yarn 主要由以下幾個關鍵組件構成:

?

- **ResourceManager (RM)**??

? ResourceManager 是整個系統的中心節點,負責全局的資源管理和分配工作。它的職責包括跟蹤集群中可用的資源以及將這些資源分配給各個應用。ResourceManager 提供了一個接口來接收來自客戶端的應用請求,并協調 ApplicationMaster 和 NodeManager 的交互。

?

- **NodeManager (NM)**??

? NodeManager 是每個節點上的代理服務,負責容器的生命周期管理、日志收集以及其他與單機相關的任務。NodeManager 向 ResourceManager 報告本地資源使用情況并接受指令以啟動或停止容器。

?

- **ApplicationMaster (AM)**??

? 每個提交到 Yarn 上的任務都會有一個對應的 ApplicationMaster 實例。它是特定于某個應用的實體,負責向 ResourceManager 請求資源,并與 NodeManager 協同完成具體的任務執行邏輯。此外,ApplicationMaster 還承擔著監控和報告任務狀態的責任。

?

- **Container**??

? Container 表示 Yarn 中的一個抽象單位,用于封裝 CPU、內存等物理資源。當一個任務被分發至某臺機器時,實際上就是通過創建一個新的 Container 來承載這個任務所需的環境配置及其實際運行過程。

?

---

?

#### 3. **Yarn 的工作機制**

?

Yarn 的整體運作流程如下所示:

?

1. 用戶提交作業后,Client 將會聯系 ResourceManager 并申請初始化 ApplicationMaster 所需的第一個 Container;

2. ResourceManager 接收到請求之后,在合適的節點上安排好相應的資源并將消息發送回 Client;

3. 隨后,Client 又通知指定位置上的 NodeManager 創建出所期望的那個初始 Container;

4. 在此期間,NodeManager 開始加載必要的依賴項并通過內部機制激活 ApplicationMaster;

5. 成功啟動后的 ApplicationMaster 繼續向上級匯報自己的存在狀況并向下層索求更多額外支持以便進一步擴展規模直至最終結束全部進程為止。

?

---

?

#### 4. **資源配置文件詳解**

?

在日常運維過程中,`yarn-site.xml` 文件扮演了極為重要的角色,因為它包含了大量影響性能表現的關鍵參數設置。例如下面這段代碼片段展示了如何調整最大優先級級別:

?

```xml

<property>

? ? <name>yarn.cluster.max-application-priority</name>

? ? <value>5</value>

</property>

```

?

這里 `<value>` 字段設定了當前集群所能容納的最大應用程序優先級數值,默認情況下取值范圍是從零開始直到設定上限之間任意整數均可適用。

?

---

?

### 使用場景舉例

?

為了更好地理解 Yarn 如何發揮作用,我們可以考慮這樣一個例子:假設有兩臺主機 A 和 B 構成的小型 Hadoop 集群,每臺都具備雙核處理器加 8GB RAM 容

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/81177.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/81177.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/81177.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Spring-messaging-MessageHandler接口實現類ServiceActivatingHandler

ServiceActivatingHandler實現了MessageHandler接口&#xff0c;所以它是一個MessageHandler&#xff0c;在spring-integration中&#xff0c;它也叫做服務激活器&#xff08;Service Activitor&#xff09;&#xff0c;因為這個類是依賴spring容器BeanFactory的&#xff0c;所…

快速入門深度學習系列(2)----損失函數、邏輯回歸、向量化

針對深度學習入門新手目標不明確 知識體系雜亂的問題 擬開啟快速入門深度學習系列文章的創作 旨在幫助大家快速的入門深度學習 寫在前面&#xff1a; 本系列按照吳恩達系列課程順序發布(說明一下為什么不直接看原筆記 因為內容太多 沒有大量時間去閱讀 所有作者需要一次梳理…

KingBase問題篇

安裝環境 操作系統&#xff1a;CentOS7 CPU&#xff1a;X86_64架構 數據庫&#xff1a;KingbaseES_V008R006C009B0014_Lin64_install.iso 項目中遇到的問題 Q1. 執行sql中有字符串常量&#xff0c;且用雙引號包裹&#xff0c;執行報錯 A1. 默認KingBase不認雙引號&#xff0…

瀕危仙草的重生敘事:九仙尊米斛花節如何以雅集重構中醫藥文化IP

五月的霍山深處,層巒疊翠之間,中華仙草霍山米斛迎來一年一度的花期。九仙尊以“斛韻雅集,春野茶會”為主題,舉辦為期半月的米斛花文化節,融合中醫藥文化、東方美學與自然體驗,打造一場跨越古今的沉浸式文化盛宴。活動涵蓋古琴雅集、書法創作、茶道冥想、詩歌吟誦、民族歌舞等多…

LeetCode100.1 兩數之和

今天晚上看了許多關于未來計算機就業的視頻&#xff0c;有種正被販賣焦慮的感覺&#xff0c;翻來覆去下決定先做一遍leetcode100給自己降降溫&#xff0c;打算每周做四題&#xff0c;盡量嘗試不同的方法與不同的語言。 一開始想到的是暴力解法&#xff0c;兩層循環。數據量為1e…

python制造一個報錯

以下是用Python制造常見錯誤的示例及解析&#xff0c;涵蓋不同錯誤類型&#xff0c;便于理解調試原理&#xff1a; 一、語法錯誤 (SyntaxError) # 錯誤1&#xff1a;缺少冒號 if Trueprint("這行不會執行")# 錯誤2&#xff1a;縮進錯誤 def func(): print("未對…

idea整合maven環境配置

idea整合maven 提示&#xff1a;幫幫志會陸續更新非常多的IT技術知識&#xff0c;希望分享的內容對您有用。本章分享的是springboot的使用。前后每一小節的內容是存在的有&#xff1a;學習and理解的關聯性。【幫幫志系列文章】&#xff1a;每個知識點&#xff0c;都是寫出代碼…

Node.js中那些常用的進程通信方式

文章目錄 1 什么是子進程?2 核心方法詳解2.1 `child_process.spawn(command, [args], [options])`2.2 `child_process.exec(command, [options], callback)`2.3 `child_process.execFile(file, [args], [options], callback)`2.4 `child_process.fork(modulePath, [args], [op…

Vue3吸頂導航的實現

吸頂導航實現 【實現目標】&#xff1a; 在Layout頁面中&#xff0c;瀏覽器上下滾動時&#xff0c;距離頂部距離大于80px吸頂導航顯示&#xff0c;小于則隱藏。 【實現過程】&#xff1a; 通過layout接口獲取分類列表內容并使用categorystore進行狀態管理&#xff0c;獲取到…

雙向長短期記憶網絡-BiLSTM

5月14日復盤 二、BiLSTM 1. 概述 雙向長短期記憶網絡&#xff08;Bi-directional Long Short-Term Memory&#xff0c;BiLSTM&#xff09;是一種擴展自長短期記憶網絡&#xff08;LSTM&#xff09;的結構&#xff0c;旨在解決傳統 LSTM 模型只能考慮到過去信息的問題。BiLST…

2025年Flutter項目管理技能要求

在2025年&#xff0c;隨著Flutter技術的廣泛應用和項目復雜度的提升&#xff0c;項目管理的重要性愈發凸顯。Flutter項目管理不僅需要技術能力&#xff0c;還需要良好的溝通、協調、規劃和執行能力。本文將詳細探討2025年Flutter項目管理應具備的技能要求&#xff0c;幫助項目管…

OpenCV CUDA模塊中逐元素操作------數學函數

操作系統&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 編程語言&#xff1a;C11 算法描述 在OpenCV的CUDA模塊中&#xff0c;確實存在一系列用于執行逐元素數學運算的函數&#xff0c;包括指數、對數、平方根等。這些函數對于高級圖像處…

PhpStudy | PhpStudy 工具安裝 —— Kali Linux 系統安裝 PhpStudy

&#x1f31f;想了解這個工具的其它相關筆記&#xff1f;看看這個&#xff1a;[網安工具] 服務器環境配置工具 —— PhpStudy 使用手冊 筆者備注&#xff1a;演示雖然是 Kali Linux&#xff0c;但其實 Linux 系列都可以參考此流程完成安裝。 在前面的章節中&#xff0c;筆者簡…

第6講、全面拆解Encoder、Decoder內部模塊

全面拆解 Transformer 架構&#xff1a;Encoder、Decoder 內部模塊解析&#xff08;附流程圖小測驗&#xff09; 關鍵詞&#xff1a;Transformer、Encoder、Decoder、Self-Attention、Masked Attention、位置編碼、殘差連接、多頭注意力機制 Transformer 自 2017 年誕生以來&am…

游戲引擎學習第283天:“讓‘Standing-on’成為一個更嚴謹的概念

如果同時使用多個OpenGL上下文&#xff0c;并且它們都有工作負載&#xff0c;GPU或GPU驅動程序如何決定調度這些工作&#xff1f;我注意到Windows似乎優先處理活動窗口的OpenGL上下文&#xff08;即活動窗口表現更好&#xff09;&#xff0c;挺有意思的…… 當多個OpenGL上下文…

深度學習讓魚與熊掌兼得

通常,一個大的復雜的模型的loss會低,但是擬合方面不夠,小的模型在擬合方面更好,但是loss高,我們可以通過深度學習來得到一個有著低loss的小模型 我們之前學過,peacewise linear可以用常數加上一堆這個階梯型函數得到,然后因為peacewise linear可以逼近任何function,所以理論上…

如何在 AWS 上構建支持 AVIF 的前端圖片優化方案

一、為什么使用 AVIF 圖片格式&#xff1f; 優勢點 說明 高壓縮率 在相似質量下&#xff0c;AVIF 文件比 JPEG/PNG/WebP 更小&#xff0c;能有效節省帶寬和存儲空間。 更高畫質 即使在低碼率下也能保持清晰細節&#xff0c;減少壓縮帶來的馬賽克或模糊問題。 支持透明度 …

C++中的std::allocator

C中的std::allocator 文章目錄 C中的std::allocator1.std::allocator1.1C中的placement new 和operator new1.2一個custom allocator的實現1.3使用std::allocator_traits實現allocator 1.std::allocator C中的std::allocator默默工作在CSTL中的所有容器的內存分配上&#xff0…

CodeBuddy編程新范式

不會寫&#xff1f;不想寫&#xff1f; 騰訊推出的CodeBuddy徹底解放雙手。 示例 以下是我對CodeBuddy的一個小體驗。 我只用一行文字對CodeBuddy說明了一下我的需求&#xff0c;剩下的全部就交給了CodeBuddy&#xff0c;我需要做的就是驗收結果即可。 1.首先CodeBuddy會對任…

QML學習01(設置寬度、高度、坐標點、標題,信號與槽,鍵盤事件)

QML學習 1、前言2、QML3、QML和QWidget的區別3、QtQuick下的Windows應用4、總結 1、前言 記錄一下QML學習的過程&#xff0c;方便自己日后回顧&#xff0c;也可以給有需要的人提供幫助。 2、QML QML是 Qt 框架中的一種聲明式編程語言&#xff0c;專門用于快速設計和開發用戶…