靈活、可用、高擴展,EasyMR 帶來全新 Yarn 的隊列管理功能及可視化配置

来源:https://www.cnblogs.com/DTinsight/archive/2023/10/25/17787806.html
-Advertisement-
Play Games

YARN(Yet Another Resource Negotiator)是 Hadoop 生態系統中的資源調度器,主要用於資源管理和作業調度。YARN 自身具備隊列管理功能,通過對 YARN 資源隊列進行配置和管理,實現集群資源的分配,以滿足不同應用和用戶的需求。YARN 的引入為集群在利用率、資 ...


YARN(Yet Another Resource Negotiator)是 Hadoop 生態系統中的資源調度器,主要用於資源管理和作業調度。YARN 自身具備隊列管理功能,通過對 YARN 資源隊列進行配置和管理,實現集群資源的分配,以滿足不同應用和用戶的需求。YARN 的引入為集群在利用率、資源統一管理和數據共用等方面帶來了巨大好處。

在大數據環境下,企業通常會有多個應用程式同時運行,這些應用程式可能具有不同的資源需求和優先順序。為了合理分配和管理資源,避免資源爭奪和衝突,需要對資源進行劃分和調度。

本文將為大家介紹各類資源劃分和隊列管理方式,以及 EasyMR 新上線的 YARN 的隊列管理功能,如何通過可視化界面管理,給廣大用戶帶來更高效和便捷的隊列管理體驗。

資源劃分方式

在大數據領域中,常見的資源劃分方式通常有以下幾種:

按照應用程式的類型或特性進行分類

例如,可以將 CPU 密集型的應用程式放置在一個隊列中,將記憶體密集型的應用程式放置在另一個隊列中。通過這種方式,可以確保不同類型的應用程式獲得各自所需的資源,並避免資源浪費和不均衡的情況發生。

按照應用程式的優先順序進行分類

對於一些重要的任務或緊急任務,可以為它們分配更高的資源配額和優先順序,以保證它們能夠得到及時響應和優先處理。而對於一些次要的任務或低優先順序的任務,可以為它們分配較低的資源配額,以確保其他重要任務的執行效率和優先順序。

按照部門或團隊的需求進行分類

不同部門可能對資源有不同的需求,通過為不同部門分配獨立的資源隊列,可以確保每個部門能夠獨立管理和分配自己的資源,不會相互干擾或影響。

雖然 YARN 自身具備隊列管理功能,但在實際使用中,YARN 只能通過配置文件進行資源隊列的管理,這種方式相對繁瑣且需要一定的技術知識。

file

CDH & HDP

業界首選的基礎開源數據平臺要數基於 Hadoop 分散式技術的 CDH 和 HDP。

CDH(Cloudear Manager)

● Fair Share 策略

CDH 的 Cloudear Manager 採用 Fair Share 策略,每個用戶或組織的權重和優先順序需要事先確定,需要管理者對系統的使用情況有較好的瞭解。如果這些設置不合理,可能會導致某些用戶或組織長期不能獲得足夠的資源來執行任務。

● 調度效率影響

當有多個任務或作業同時提交時, Fair Share 的演算法需要進行複雜的計算,導致調度效率下降。

HDP(Ambari)

● 管理複雜性

Ambari 採用可視化拖拽進行資源調整,操作簡單。但是由於 Yarn 資源隊列必須保證同一級隊列資源之和等於100%,因此單一隊列資源調整,必須調整其他隊列資源保證隊列資源之和等於100%,管理複雜度比較高。

● 資源配平

為保證同級隊列資源之和等於100%,創建或者刪除隊列時,需要調整其他隊列資源保證隊列資源。

EasyMR 的 Yarn 資源隊列管理功能

基於上述優缺點,為了改善隊列管理體驗,提供一個更直觀、更詳細的信息展示和簡易明瞭的操作界面進行隊列資源管理,EasyMR 上線了 Yarn 的隊列管理功能進行可視化界面管理,提高其靈活性、可用性和可擴展性。

file

EasyMR 的 Yarn 資源隊列管理特點

● 容量策略

基於最大、最小資源容量策略,限制隊列的資源使用,用戶或部門可以根據自己業務需求創建屬於自己的專屬資源隊列

● 隊列獨立

當調整隊列資源大小或者創建刪除隊列時,無需調整其他隊列資源大小,僅需保證同一父隊列下所有子隊列資源小於等於100%即可。

● 用戶對接

支持對接 LDAP、OAuth 用戶體系,通過對 Yarn 資源隊列-葉子隊列綁定用戶、用戶組,實現了基於用戶和用戶組的訪問控制和資源分配,保障資源安全。

葉子隊列:是指不能再分配子隊列的隊列,它可以直接用來分配資源給應用程式,在葉子隊列中,可以直接運行應用程式或者將它們放置在預設分配隊列中進行調度。

非葉子隊列:可以再分配子隊列,以進一步劃分資源併進行資源管理,不支持應用程式和任務的提交。例如,可以將 CPU 密集型應用程式和記憶體密集型應用程式分別放置在不同的子隊列中,併為它們分配不同的資源配額和優先順序。

父隊列:通常是一個非葉子隊列,它包含多個子隊列,並控制著這些子隊列的資源分配和優先順序等屬性。例如,一個父隊列可以包含多個子隊列“memory”、“cpu”等,通過為不同的子隊列設置不同的資源配額和優先順序,可以更好地管理集群中的資源。

子隊列:是父隊列的一部分,它們繼承了父隊列的所有屬性,並具有自己的資源配額和優先順序等屬性。在子隊列中可以運行應用程式不支持再次劃分子隊列。

EasyMR 如何創建 Yarn 資源隊列,在之前的文章《大數據計算引擎 EasyMR 如何簡單高效管理 Yarn 資源隊列》中進行了詳細的介紹,請點擊閱讀。

未來,EasyMR 會持續優化 Yarn 資源隊列管理,完善資源隊列的安全審計與隊列監控,通過將資源隊列與需求背景進行對應,制定更優資源分配策略,以更好地滿足企業在大數據環境下的資源管理和調度需求。

《數棧產品白皮書》:https://www.dtstack.com/resources/1004?src=szsm

《數據治理行業實踐白皮書》下載地址:https://www.dtstack.com/resources/1001?src=szsm

想瞭解或咨詢更多有關袋鼠雲大數據產品、行業解決方案、客戶案例的朋友,瀏覽袋鼠雲官網:https://www.dtstack.com/?src=szbky

同時,歡迎對大數據開源項目有興趣的同學加入「袋鼠雲開源框架釘釘技術qun」,交流最新開源技術信息,qun號碼:30537511,項目地址:https://github.com/DTStack


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一:背景 1. 講故事 上一篇我們聊到了 Console 為什麼會卡死,讀過那篇文章的朋友相信對 conhost.exe 有了一個大概的瞭解,這一篇更進一步聊一聊視窗的特殊事件 Ctrl+C 底層流轉到底是什麼樣的,為了方便講述,讓 chagtgpt 給我生成一段Ctrl+C 的業務代碼。 clas ...
  • C#棧和隊列的實現 用雙向鏈表實現一個隊列 public class DoubleNode { public int Value; public DoubleNode pre; public DoubleNode next; public DoubleNode(int value) { this.V ...
  • SSL和TLS 瞭解openssl之前,我們首先要瞭解SSL\TLS是什麼。 SSL(Secure Sockets Layer)是一個協議,叫作安全套接層協議。旨在為應用層數據提供加密的傳輸層通道。,即數據從應用層去往傳輸層,會首先被ssl給加密。 但是隨著時間的發展,SSL的繼任者TLS(Tran ...
  • 每次重裝系統後,都要重新安裝軟體,配置環境變數,極為繁瑣。故作環境環境變數備份,常用軟體恢復記錄,前提是你的軟體要安裝在非系統盤,D/E盤等 軟體安裝在非系統盤 開發軟體安裝在非系統盤,建好目錄。重裝系統後,只是重置系統盤,所以這些軟體不需要重新安裝。 譬如 java 相關目錄: PS D:\jav ...
  • 內置參考電壓的使用 應用筆記 前言 CH32V/F 系列單片機能夠在一定的電壓範圍內進行工作,以 CH32V203C8T6 晶元為例,在不使用 USB 外設時,最低工作電壓能夠達到 2.4V。較為寬泛的工作電壓,允許單片機直接使用電池供電,但由於 CH32V203C8T6 晶元沒有獨立的 Vref ...
  • 1、前言 《中庸》有:“九層之台,起於壘土” 之說,那麼對於我們搞技術的人,同樣如此! 對於Linux記憶體管理,你可以說沒有留意過,但是它存在於我們日常開發的方方面面,你所打開的文件,你所創建的變數,你所運行的程式,無不以此為基礎,它可以說是操作系統的基石;只是底層被封裝的太好了,以至於我們在做開發 ...
  • 1. 線程 1.1. MySQL服務端是多線程軟體。它的每個組件都使用線程 1.2. 每個線程至少有兩個唯一標識符 1.2.1. 操作系統線程ID 1.2.2. MySQL內部線程ID 2. 對象類型 2.1. OBJECT_TYPE列 2.2. EVENT 2.3. FUNCTION 2.4. P ...
  • redis面試提問 轉載:https://blog.csdn.net/uuqaz/article/details/127088333 Redis 是面試中繞不過的檻,只要在簡歷中寫了用過 Redis,肯定逃不過。今天我們就來模擬一下麵試官在 Redis 這個話題上是如何一步一步深入,全面考察候選人對 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...