Ozone 架構(gòu)圖
以集群網(wǎng)絡(luò)拓?fù)涓兄獊碚f,在傳統(tǒng)的大數(shù)據(jù)構(gòu)架下,有了網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),計算引擎的調(diào)度器可以將任務(wù)調(diào)度到離數(shù)據(jù)最近的節(jié)點來獲取“數(shù)據(jù)的局部性”。即便是新興的計算存儲分離構(gòu)架,同樣也需要集群網(wǎng)絡(luò)拓?fù)湫畔?來保證數(shù)據(jù)的故障容錯能力和高可用性。
陳怡進(jìn)一步介紹說,在Ozone 的Alpha 發(fā)布后,騰訊內(nèi)部的大數(shù)據(jù)平臺上線了Ozone生產(chǎn)集群,承接了一部分業(yè)務(wù)的數(shù)據(jù)存儲。隨著數(shù)據(jù)服務(wù)體量的增加,逐漸發(fā)現(xiàn)Ozone寫入性能顯現(xiàn)出了一定的波動和瓶頸?;谶@個發(fā)現(xiàn),騰訊Ozone項目組設(shè)計并開發(fā)了數(shù)據(jù)寫入Multi-Raft Pipeline功能,顯著的提升了Ozone的寫入吞吐量和性能。
此外,為了測試Ozone整體的穩(wěn)定性和性能,作為部署應(yīng)用的先鋒小隊,騰訊內(nèi)部部署了一個1000個數(shù)據(jù)節(jié)點的集群。進(jìn)行了長達(dá)幾個月的穩(wěn)定性和壓力測試。期間團(tuán)隊遇到并解決了各種OOM、節(jié)點Crash、性能低于預(yù)期等問題。經(jīng)過全面的優(yōu)化之后,單集群1000個節(jié)點現(xiàn)已能長時間穩(wěn)定運行,并且所有的數(shù)據(jù)都校驗確認(rèn)正確無誤。
除了1000個節(jié)點集群的測試,1.0.0版本還進(jìn)行10億個元數(shù)據(jù)對象的測試和優(yōu)化,進(jìn)一步解決長期困擾HDFS的大量小文件問題。目前Ozone 1.0.0能夠輕松支持10億個10KB小對象的寫入,同時元數(shù)據(jù)節(jié)點內(nèi)存使用不超過64GB。
為了確保Ozone和Hive、Spark、Impala等計算框架的無縫對接,Ozone 1.0.0進(jìn)行了和Hive LLAP、Spark以及Impala的集成測試。TPC-DS的測試表明,在100GB和1TB兩種數(shù)據(jù)量大小下,Ozone總體比HDFS有3.5%的優(yōu)勢。
經(jīng)過不斷的測試和優(yōu)化,升級后的Ozone 1.0.0在版本功能上有了質(zhì)的跨越。除了支持 Hadoop Compatible FileSystem、Hadoop 2.x以及 Hadoop3.x環(huán)境,Ozone 1.0.0還兼容Hadoop生態(tài)的Kerberos認(rèn)證體系,支持?jǐn)?shù)據(jù)的用戶無感知加密存放和Ranger授權(quán)集成、GDPR “Right to Erasure”以及網(wǎng)絡(luò)構(gòu)架感知。
未來,騰訊云大數(shù)據(jù)還將發(fā)揮自身技術(shù)優(yōu)勢和積累,在Ozone的基礎(chǔ)上開發(fā)基于SCM的新一代高性能分布式文件系統(tǒng),并持續(xù)推進(jìn)Ozone在更多騰訊內(nèi)外部業(yè)務(wù)的實踐落地,部署更大規(guī)模的生產(chǎn)集群。同時,進(jìn)一步擁抱開源,深度參與Hadoop社區(qū),提高Ozone的可靠性、穩(wěn)定性和性能,將其打造成新一代大數(shù)據(jù)文件和對象混合存儲系統(tǒng)。
值得一提的是,騰訊大數(shù)據(jù)團(tuán)隊除了在Ozone 項目上的貢獻(xiàn)之外,近年來在開源領(lǐng)域的貢獻(xiàn)正在逐步加速,目前已完成了大數(shù)據(jù)核心能力全開源。同時,還結(jié)合實際業(yè)務(wù)場景推動開源技術(shù)加速落地,通過技術(shù)實踐和創(chuàng)新持續(xù)回饋社區(qū)貢獻(xiàn)開源。在Apache基金會的大數(shù)據(jù)項目上,騰訊已經(jīng)為主流的Hadoop、Spark、Flink等項目貢獻(xiàn)了大量的特性和patch。