特性簡介
現代企業的數據集群在向集中化和云化方向發展,企業級大數據集群需要滿足:
- 不同用戶在集群上運行不同類型的應用和作業(分析、查詢、流處理等),同時存放不同類型和格式的數據。
- 某些類型的用戶(例如銀行、政府單位等)對數據安全非常關注,很難容忍將自己的數據與其他用戶放在一起。
這給大數據集群帶來了以下挑戰:
- 合理地分配和調度資源,以支持多種應用和作業在集群上平穩運行。
- 對不同的用戶進行嚴格的訪問控制,以保證數據和業務的安全。
多租戶將大數據集群的資源隔離成一個個資源集合,彼此互不干擾,用戶通過“租用”需要的資源集合,來運行應用和作業,并存放數據。在大數據集群上可以存在多個資源集合來支持多個用戶的不同需求。
因此,翼MR大數據集群提供了完整的企業級大數據多租戶解決方案。多租戶是翼MR大數據集群中的多個資源集合(每個資源集合是一個租戶),具有分配和調度資源(資源包括計算資源和存儲資源)的能力。
特性優勢
合理配置和隔離資源
租戶之間的資源是隔離的,一個租戶對資源的使用不影響其它租戶,保證了每個租戶根據業務需求去配置相關的資源,可提高資源利用效率。
測量和統計資源消費
系統資源以租戶為單位進行計劃和分配,租戶是系統資源的申請者和消費者,其資源消費能夠被測量和統計。
保證數據安全和訪問安全
多租戶場景下,分開存放不同租戶的數據,以保證數據安全;控制用戶對租戶資源的訪問權限,以保證訪問安全。
調度器增強
多租戶根據調度器類型分為開源的Capacity調度器和自主研發的增強型Superior調度器。為滿足企業需求,克服Yarn社區在調度上遇到的挑戰與困難,自主研發的Superior調度器,不僅集合了當前Capacity調度器與Fair調度器的優點,還做了以下增強:
增強資源共享策略
Superior調度器支持隊列層級,在同集群集成開源調度器的特性,并基于可配置策略進一步共享資源。針對實例,管理員可通過Superior調度器為隊列同時配置絕對值或百分比的資源策略計劃。Superior調度器的資源共享策略將YARN的標簽調度增強為資源池特性,YARN集群中的節點可根據容量或業務類型不同,進行分組以使隊列更有效地利用資源。
基于租戶的資源預留策略
部分租戶可能在某些時間中運行關鍵任務,租戶所需的資源應保證可用。Superior調度器構建了支持資源預留策略的機制,在這些租戶隊列運行的任務可立即獲取到預留資源,以保證計劃的關鍵任務可正常執行。
租戶和資源池的用戶公平共享
Superior調度器提供了隊列內用戶間共享資源的配置能力。每個租戶中可能存在不同權重的用戶,高權重用戶可能需要更多共享資源。
大集群環境下的調度性能優勢
Superior調度器接收到各個NodeManager上報的心跳信息,并將資源信息保存在內存中,使得調度器能夠全局掌控集群的資源使用情況。Superior調度器采用了push調度模型,令調度更加精確、高效,大大提高了大集群下的資源使用率。另外,Superior調度器在NodeManager心跳間隔較大的情況下,調度性能依然優異,不犧牲調度性能,也能避免大集群環境下的“心跳風暴”。
優先策略
當某個服務在獲取所有可用資源后還無法滿足最小資源的要求,則會發生優先搶占。搶占功能默認關閉。