新聞中心

        EEPW首頁 > 網絡與存儲 > 業界動態 > Ozone | 數據湖存儲,“統一”和“融合”哪個更好?

        Ozone | 數據湖存儲,“統一”和“融合”哪個更好?

        作者:落風潭,保險IT圈知名自媒體主理人 時間:2022-07-21 來源:電子產品世界 收藏

        關于Alluxio的文章讓潭主把注意力轉移到了大數據上。

        本文引用地址:http://www.104case.com/article/202207/436489.htm

         

        文中提及Cloudera作為Hadoop生態最后的種子選手,為什么沒有鼓搗出Alluxio這樣的東西?

         

        沒想到在學習Cloudera的過程中無意間發現了,解答了潭主之前的疑問。

         

        技術體系繁雜,存在著很多“平行宇宙”。今天,潭主跟大家分享最近學習的一個技術,

         

        是哪路神

         

        OzoneApache軟件基金會下的一個項目,其定位是:一個用戶大數據分析和云原生應用、具有高擴展性、強一致性的分布式Key-Value對象存儲。

         

        看過潭主文章的讀者自然對Alluxio有所了解,在使用功能上,OzoneAlluxio類似,也兼容支持S3HDFSAPI

         

        因為上述特性,Ozone可以“透明”地支持現有Hadoop生態中如SparkHive等上層計算框架,無需修改應用代碼。

         

        套路是一樣的,把自己“模仿”成高手的樣子。當然,簡單模仿肯定不行,還要有屬于自己的“創新”。

         

        潭主的“窮人”思維

         

        傳統保險行業受限于業務模式,存在很多的數據“孤島”,每個島的容量也有限。

         

        不過,這幾年非結構化業務數據增長迅猛,之前引入的HCP對象存儲已經是上十億的量級。

         

        雖然之前也上線了一些大數據項目,但據潭主所知,Hadoop集群的規模其實并不大,以至于寫此文之前,潭主受限于自身經驗對Hadoop其實并無痛感。

         

        即便是互聯網行業,十多年前可能也無法預料數據膨脹得如此之快,以至于Hadoop很快就變得力不從心。

         

        互聯網的“富人”思維

         

        這兩年,數據湖這個詞很火。

         

        大家對于數據湖的理解也不盡相同,有人認為Hadoop是數據湖,而有人認為S3也是數據湖。

         

        換個角度,從線上公有云的視角看,S3是主流存儲,而到了線下的私有云,Hadoop似乎更有優勢一些,這種情況無形中對于混合云的一統江湖形成了存儲上的障礙。

         

        因此,面向未來的數據湖技術應該是向上兼容多種主流計算框架,平滑支撐多種應用場景,向下對接不同的存儲引擎,實現數據訪問接口的標準化。

         

        從最近了解的技術發展趨勢看,這種承上啟下、統一標準的存儲技術將成為下一代數據湖的顯著特征。

         

        況且對于互聯網,HDFS系統的確在集群擴展性、支持應用標準上的確存在一些局限性。

         

        為了解決HDFS存在的問題,開源社區這些年也沒閑著,嘗試了不少解決方案。 

        image.png

         

        HDFS的“聯邦”時代

         

        最初Hadoop集群只允許有一個命名空間(Namespace),且只能被一個NameNode管理。

         

        雖然可以通過添加底層DataNode節點實現集群橫向擴展,增加存儲空間,但由于所有的Block元數據都駐留在NameNode內存中,在集群規模增大時,NameNode很容易成為瓶頸,直接限制了HDFS的文件、目錄和數據塊的數量。

         

        Hadoop 社區為了解決 HDFS 橫向擴展的問題,做了兩個聯邦方案(如上圖):

        ·       NNFNameNode Federation

        ·       RBFRouter Based Federation

         

        早期的NNF方案中,集群引入了多個NameNode,分別管理不同的Namespace和對應的BlockPool,多個NameNode可以共享Hadoop集群中的DataNode

         

        雖然解決了Namespace的擴展問題,但需要對HDFSClient進行“靜態”配置掛載,還要結合ViewFS才能實現統一入口。

         

        而在RBF的聯邦方案中,嘗試把“掛載表”從Client中抽離出來形成了Router,雖然Hadoop集群是獨立的,但同時又增加了一個“State Store”組件,架構變得更復雜。

         

        局部改進的聯邦方案對于面向未來的大數據存儲而言,治標不治本。

         

        青出于藍而勝于藍

         

        有時候,最好的優化就是另起爐灶。

         

        畢竟Hadoop技術已經很多年了,當下的軟硬件環境已與當初大不相同,系統重構也在情理之中。

         

        與其等別人來革HDFS的命,不如自我革命。目前看,Ozone的確給用戶提供了一個新選擇。

         

        就好像CDHHDP最終融合成了CDP一樣,HDFSS3也可以融合成Ozone

         

        總之,Ozone站在Hadoop這個巨人的肩膀上,設計之初就是為了替換掉HDFS,青出于藍而勝于藍。

         

        潭主家的“存儲一哥”

         

        早年間接觸過Ceph,也搞過HCPHitachi Content Platform)對象存儲,這些經驗對潭主理解Ozone大有裨益。

         

        特意查了一下自家的HCP,發現影像文件已經20多億個了,存儲容量也小2PB。不過查詢過程中明顯感覺到元數據響應緩慢,估計快該擴容了。

         

        言歸正傳,再來說說Ozone的核心概念:

        ·       Volume:通常表示用戶、業務,與HCP中的租戶(Tenant)對應

        ·       Bucket:通常表示業務、應用,與HCP中的命名空間(Namespace)對應

        ·       Key:對應的就是實際的Object

         

        Ozone的存儲路徑為/Volume/Bucket/Key,一個業務可以對應一個或多個Volume,每個Volume可以包含多個Bucket,在訪問方式上Ozone實現了ofso3fs的適配和協議封裝。

         

        值得注意的是,HCP里面有文件夾的概念,就是說對象文件有層次結構,但Ozone在設計上是扁平的,目錄是一個“偽目錄”概念,是文件名的一部分,統一作為Key而存在。 

        image.png

         

        Ozone的體系架構

         

        介紹完了概念,再看看Ozone的體系架構(如上圖):

        ·       OMOzone Manager:通過RocksDBK-V方式管理NamespaceRaft協議保持高可用,Shardig實現水平擴展

        ·       SCMStorage Container Manager:用于Ozone集群管理,負責分配Block,跟蹤SC復制狀態

        ·       DataNode:負責向SCM匯報SC狀態

        ·       SCStorage ContainerOzone的實際存儲單元

        ·       Recon Server:用于監控Ozone集群

         

        Ozone做了架構優化,上層實現職能分離,OM負責管理NamespaceSCM負責管理Storage Containers

         

        下層實現了一個叫Hadoop Distributed Data StoreHDDS)的高可用、塊存儲層。

         

        Ozone中的一個DataNode包括多個Storage Container,每個SC的容量(默認5GB,可配置)遠大于HadoopBlock容量(默認128MB),這種設計使得每個DN發送給SCMContainer-Report系統壓力要遠遠小于傳統Hadoop集群的Block-Report

         

        Storage Container作為Ozone的基礎存儲和復制單元,類似于一個“超級塊”,通過其內置RocksDBkey記錄BlockIDValue記錄object的文件名、偏移量和長度),實現對小文件的塊管理。 

        image.png

         

        Ozone,新一代的“融合”

         

        在網上看到之前某互聯網大廠專家的分享,現網同時在使用HDFSCeph

         

        HDFS主要用于大數據分析場景,但機器學習場景中受限于大量小文件而使用Ceph

         

        不過,在介紹OzoneRoadmap時說未來會在存儲層引入Ozone

         

        開源世界,風起云涌,前腳剛看過Alluxio,覺得眼前一亮,這會兒再看Ozone,更是金光閃閃。

         

        Ozone既是Hadoop的優化升級版,又能“分層”解決海量小文件的對象存儲,再加上對云原生CSI的支持,讓其成為了新一代“融合”存儲。

         

        Ozone這股新勢力著實讓潭主不敢小覷,希望未來能有機會做些實踐。

         

        存儲圈,數據不息,折騰不止!

         




        關鍵詞: Ozone 數據湖存儲

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 石景山区| 濮阳县| 双桥区| 锦屏县| 萨嘎县| 如皋市| 万州区| 绥阳县| 蚌埠市| 岚皋县| 华池县| 澎湖县| 静安区| 张家港市| 萍乡市| 长兴县| 西丰县| 呼伦贝尔市| 德昌县| 百色市| 苍山县| 衡阳市| 浦城县| 珲春市| 中宁县| 景德镇市| 鄂伦春自治旗| 垣曲县| 商河县| 紫云| 福建省| 山阴县| 烟台市| 荥经县| 二手房| 额尔古纳市| 阜阳市| 平果县| 云龙县| 常宁市| 屯昌县|