多租戶技術(multi-tenancy technology)是一種軟體架構
技術,它是在**與實現如何於多使用者的環境下共用相同的系統或程式元件,並且仍可確保各使用者間資料的隔離性。在大資料環境下實現多租戶涉及如下關鍵技術:
1. 資源池
hadoop資源池(pool),或者作業池。 每個pool裡有一定量的資源(管理員配置),每個使用者屬於某個pool,其提交的作業可使用這個pool中的資源。資源的分配主要是依據cpu虛擬核數和記憶體量。
2. 公平排程
是一種賦予作業(job)資源的方法,它的目的是讓所有的作業隨著時間的推移,都能平均的獲取等同的共享資源。當單獨乙個作業在執行時,它將使用整個集群。當有其它作業被提交上來時,系統會將任務(task)空閒時間片(slot)賦給這些新的作業,以使得每乙個作業都大概獲取到等量的cpu時間
3、kerberos
kerberos
可以將認證的金鑰在集群部署時事先放到可靠的節點上。集群執行時,集群內的節點使用金鑰得到認證。只有被認證過節點才能正常使用。企圖冒充的節點由於沒有事先得到的金鑰資訊,無法與集群內部的節點通訊。
4、sentry
sentry
是乙個hadoop的授權模組,為了對正確的使用者和應用程式提供精確的訪問級別,包括乙個核心授權提供者和乙個結合層。可以實現對hive、hbase細粒度級、基於角色的授權。
基於以上關鍵技術設計大資料中心下的多租戶功能架構,主要包括如下功能模組:
1、租戶管理
建立及管理租戶基本資訊並為租戶分配計算資源和儲存資源,為租戶分配相應的許可權模型。監控租戶資源的使用情況包括當前cpu、記憶體資源的使用以及歷史使用情況,儲存資源的占用及空閒情況,租戶下執行作業情況等。
2、許可權管理
針對hive庫表、hbase表、hdfs檔案系統中的檔案及目錄操作、mr作業提交配置相應的許可權模型,分配模型給對應的租戶使其針對不同物件具有建立、修改、查詢等不同許可權。
3、資源管理
基於cpu
和記憶體為粒度設計資源池,為資源池配置獨佔資源量、共享資源量、搶占時間、資源權重等引數。監控整個平台各資源池的使用情況,動態調整資源配置以達到充分利用大資料平台能力。
大資料雲平台Greenplum 多租戶篇
greenplum 是最出色的開源mpp資料庫,經過15年的發展,從資料倉儲發展成了雲時代的理想大資料平台。本系列文章將從各個方面介紹greenplum對雲的支援。本篇側重多租戶。多租戶指一套系統能夠支撐多個租戶。乙個租戶通常是具有相似訪問模式和許可權的一組使用者,典型的租戶是同乙個組織或者公司的若...
大資料平台架構
大資料架構分為 資料採集,傳輸,儲存,排程和處理這五個部分.其中任務定期執行和任務分配,分別使用azkaban和zookeeper,大資料平台整體架構如圖1所示,由圖1可知,大資料平台的基礎是伺服器 硬體 所有計算機相關的服務均是基於伺服器 或主機 伺服器是一切服務和資料的根本,用於儲存 通訊 提供...
大資料平台Lambda架構詳解
lambda架構由storm的作者nathan marz提出。旨在設計出乙個能滿足。實時大資料系統關鍵特性的架構,具有高容錯 低延時和可擴充套件等特。lambda架構整合離線計算和實時計算,融合不可變 immutability,讀寫分離和隔離 一系列構原則,可整合hadoop,kafka,storm...