原創|行業資訊|編輯:況魚杰|2020-06-11 10:53:45.587|閱讀 542 次
概述:這篇面向開發人員的文章更深入地介紹了系統體系結構。研究了Ozone的構建基塊,并了解如何將它們組合在一起以構建可擴展的分布式存儲系統。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
簡介
Apache Hadoop Ozone是一個分布式鍵值存儲,可以高效地管理大小文件。Ozone旨在與現有的Apache Hadoop生態系統很好地配合使用,并且滿足了對新的開源對象存儲的需求,該對象存儲旨在簡化操作使用并擴展到單個集群中的數千個節點和數十億個對象。
較早的文章介紹Ozone和Ozone概述介紹了臭氧的設計理念和關鍵概念。這篇面向開發人員的文章更深入地介紹了系統體系結構。研究了Ozone的構建基塊,并了解如何將它們組合在一起以構建可擴展的分布式存儲系統。
了解可伸縮性問題
為了將Ozone擴展到數十億個文件,需要解決HDFS中存在的兩個瓶頸。
命名空間可伸縮性
不能再將整個名稱空間存儲在單個節點的內存中。關鍵的見解是名稱空間具有引用位置,因此僅可以將工作集存儲在內存中。名稱空間由稱為Ozone Manager的服務管理。
塊圖可擴展性
這是一個較難解決的問題。與名稱空間不同,由于存儲節點(DataNodes)定期發送有關系統中每個塊的塊報告,因此塊圖不具有引用位置。Ozone將這個問題委托給了一個稱為Hadoop分布式數據存儲(HDDS)的共享通用存儲層。
積木
Ozone由以下關鍵成分組成。
放在一起
在本節中,我們將了解如何將這些構造塊放在一起以創建分布式鍵值存儲。
儲存容器
在最底層,Ozone將用戶數據存儲在存儲容器中。容器是塊名稱及其數據的鍵-值對的集合。鍵是在容器內本地唯一的塊名稱。值是塊數據,范圍從0字節到256MB。塊名稱不必是全局唯一的。
每個容器都支持一些簡單的操作:
容器使用RocksDB存儲在磁盤上,并針對較大的值進行了一些優化。
RAFT復制
分布式文件系統必須容忍單個磁盤/節點的丟失,因此我們需要一種通過網絡復制容器的方法。為此,引入了一些容器的其他屬性。
容器副本存儲在DataNodes上。
容器生命周期
容器以打開狀態開始。客戶端編寫塊以打開容器,然后使用提交操作最終確定塊數據。編寫塊分為兩個階段:
存儲容器管理器(SCM)
現在,我們知道了如何將塊存儲在容器中以及如何通過網絡復制容器。下一步是構建一個集中服務,該服務知道所有容器在群集中的存儲位置。該服務是SCM。
SCM從所有DataNode定期獲取報告,告知這些節點上的容器副本及其當前狀態。 SCM可以選擇三個DataNode的集合來存儲新的開放容器,并指示它們相互形成RAFT復制環。
SCM還可以了解容器何時變滿,并指示引導副本“關閉”容器。 SCM還可以檢測復制的封閉容器下/上的情況,并確保每個封閉容器存在三個副本。
容器+ RAFT + SCM = HDDS!
有了以上三個構建塊,就可以完成創建HDDS的所有工作,HDDS是一個沒有全局命名空間的分布式塊存儲層。現在,DataNode被分為三組,每組形成一個Ratis復制環。每個環可以有多個打開的容器。
SCM每30秒從每個DataNode接收一次報告,以通知每個節點上打開和關閉的容器副本。根據此報告,SCM做出決策,例如分配新容器,關閉打開的容器,在磁盤丟失/數據丟失時重新復制關閉的容器。
SCM的客戶可以請求分配新塊,然后將塊數據寫入分配的容器中。客戶端還可以讀取打開/關閉容器中的塊并刪除塊。關鍵是HDDS本身并不關心單個容器的內容。內容完全由使用SCM的應用程序管理。
添加名稱空間– Ozone Manager
有了HDDS,唯一缺少的要素就是全局鍵值命名空間。這是由OzoneManager提供的。 OM是從鍵名到相應的塊集的映射服務。
客戶端可以將多個塊寫入HDDS,然后提交它們的key-> blocks,將它們原子地映射到OM,以使密鑰在名稱空間中可見。
OM將自己的狀態存儲在RocksDB數據庫中。
HDDS超越Ozone
HDDS可以被其他分布式文件系統實現用作塊存儲層。已經討論并可能在將來實現的一些示例:
關于Cloudera
在 Cloudera,我們相信數據可以使今天的不可能,在明天成為可能。我們使人們能夠將復雜的數據轉換為清晰而可行的洞察力。Cloudera 為任何地方的任何數據從邊緣到人工智能提供企業數據云平臺服務。在開源社區不懈創新的支持下,Cloudera推動了全球最大型企業的數字化轉型歷程。
慧都大數據專業團隊為企業提供Cloudera大數據平臺搭建,免費業務咨詢,定制開發等完整服務,快速、輕松、低成本將任何Hadoop集群從試用階段轉移到生產階段。
歡迎撥打慧都熱線023-68661681或咨詢慧都在線客服,我們有專業的大數據團隊,為您提供免費大數據相關業務咨詢!
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn