探索5K巔峰,云梯架設的飛天之夢

jopen 10年前發布 | 30K 次閱讀 云梯 分布式/云計算/大數據

5年的時間,飛天平臺從1500臺的集群規模到3000臺的集群規模,再到2013年8月,飛天開放平臺最終成功實現單集群超越5000臺、同時支持多集群跨機房計算的目標。

IDC研究顯示,包含結構化和非結構化的大數據正在以每年60%的增長率持續增長,到了2020年全球數據總量將增長44倍,達到 35.2ZB。而著眼國內,2013年產生的數據總量已經超過0.8ZB,兩倍于2012年,相當于2009年全球的數據總量。預計到2020年,中國產 生的數據總量更可能超過8.5ZB。井噴的數據在給各個機構帶來數不盡機遇和財富的同時,也在存儲、計算、帶寬等領域給企業帶來無盡的挑戰。擁有數億注冊 用戶的阿里巴巴感受最明顯——2013年3月28日,一封來自技術保障部架構師的郵件直達阿里集團最高層:

“按照數據增量與未來業務增長的情況,云梯1(以Hadoop為底層的集群)系統存儲和計算能力將在6月21日到達瓶頸,數據業務將會停 滯,淘數據、量子等業務都會受到影響;而云梯2(以飛天為底層的集群)也有同樣的問題,阿里金融的貸款業務將因為無法進行信用數據運算而中止。”

對任何企業而言,服務壓力上漲都是幸福的煩惱。而到了阿里這樣的規模,不管是幸福還是煩惱都被放大了無數倍。對于大規模分布式離線存儲和計算集群來 說,如果原有集群不能通過簡單的增添主機來增加存儲空間和計算能力,橫向擴展遭遇不可逾越的瓶頸,就代表著系統重構的開始。此時,擺在阿里面前只有兩個選 擇:第一,直接擴容云梯1,從成熟度、穩定性、項目的復雜程度、投入力量來看,這條路安全有效,但基于飛天的云梯2同樣岌岌可危;第二,同時擴容云梯1和 云梯2,擴容后兩個數據系統的單集群規模都將達到5000臺,實現跨機房集群處理,但3個月的deadline和巨額的人力、物力投入同樣不容忽視。

面對只有不到3個月的實施時間,這道選擇題變得異常艱難——是高效地選擇盡快到達“安全地帶”,還是在兼顧“安全”的同時,投入大量人力、物力,選擇一次史無前例的“突破”?

意料之中,也是意料之外,阿里毅然選擇了“背水一戰”:云梯1和云梯2同時并行擴容!

擴容不可阻擋

事實上,無論是從規劃理念、技術發展,還是從集群規模來看,飛天擴容的最佳時機已經到來。

回顧飛天的歷史。2009年,自投身云計算,阿里云就立志要自主研發出以“飛天”為代號的大規模分布式計算系統。飛天的設計宗旨就是通過構建一套綜 合性的軟硬件系統,將數以千計的服務器連成一臺“超級計算機”,并最終實現兩個目標:對內,通過對這臺超級計算機進行物理資源分配、程序運行操控,以及保 障服務及數據安全的操作系統,支撐阿里集團服務的核心技術平臺;對外,將這臺超級計算機的計算、存儲等資源,以公共服務的方式,輸送給互聯網上的用戶或者 其他應用系統。云梯的元老級創建者羅李(花名鬼厲)曾表示,之所以起名云梯,項目組建時就被定義為阿里云計算平臺的鋪路者,寓意奉獻。而著眼飛天,這個項 目無疑承載了阿里的云計算愿景,從第一行代碼被寫下時就意義非凡。

5年的時間,飛天平臺從1500臺的集群規模到3000臺的集群規模,再到2013年8月,飛天開放平臺最終成功實現單集群超越5000臺、同時支持多集群跨機房計算的目標。

放眼全球,能做到這一點的企業,屈指可數。

探索5K巔峰,云梯架設的飛天之夢

諸神實現飛天之夢

飛天,是親近水的一位神的名字,是可以為人們帶來幸福和吉祥之神。和飛天一樣,系統中的各個模塊也被賦予了上古諸神的名字:分布式文件系統是開天辟 地承載一切基礎之神——盤古(Pangu);負責任務調度和資源管理模塊的是占卜和預測之神——伏羲(Fuxi);從底層上監視和處理導致集群性能下降的 集群診斷系統——華佗(Huatuo);負責網絡連接的模塊——夸父(Kuafu);監控系統——神農(Shennong);集群部署——大禹 (Dayu)……以諸神之名,映射出的是背后的理想主義色彩。

眾神協作下,飛天負責管理數據中心Linux集群的物理資源,控制分布式程序進行,并隱藏下層故障恢復和數據冗余等細節,有效地提供彈性計算和負載 均衡的服務。而數千節點規模下,無論是系統的打造還是擴容都面臨著眾多技術挑戰,在5K擴容過程中,平臺的各個模塊在規模性能、高可用以及可運維性等方面 都做了大量的改進和優化。

■ 盤古,在內部架構上盤古采用Master/ChunkServer結構,Master管理元數據,ChunkServer負責實際數據讀寫,通過 Client對外提供類POSIX的專有API。在集群擴展到5K規模后,相關問題紛至沓來,主要可分為兩個部分:首先,盤古MasterIOPS問題, 因為更大的集群意味著更多文件和更多訪問,上層應用對存儲億級文件和十億級文件集群的IOPS是有顯著區別的。同時更大規模的集群讓快速發展的上層應用看 到了更多可能性,導致更多業務上云,存儲更多數據,也間接導致了對IOPS的更高需求。此前盤古Master較低的IOPS已經限制了上層業務的快速擴 張,業務高峰期時有告警,亟待提升。另外一個規模相關問題就是盤古Master冷啟動速度,更多的文件和Chunk數導致更長的冷啟動時間,影響集群可用 性。在具體的性能優化上,主要工作有克服鎖瓶頸、優化架構(包括Pipeline優化和Group Commit),以及不斷深入細節反復嘗試以解決規模導致的冷啟動時間過長,詳情請閱讀《優化無極限:盤古Master優化實踐》。

■ 伏羲,飛天平臺的分布式調度系統。在5K攻堅中,從設計到實現每一步都可能存在性能“陷阱”,原因主要在三個方面:規模放大效應,當節點數增大到數千個 時,系統中原本不是瓶頸的與規模成正比的環節,其影響會被放大;木桶效應,未經優化的那一小部分很可能成為影響系統性能的致命的瓶頸;長路徑模塊依賴,被 依賴模塊性能的不穩定性最終會影響某個請求處理的性能和穩定性。為此,阿里從通信、關鍵函數、模塊依賴等多個方面進行了優化,詳情參閱《走近伏羲,談 5000節點集群調度與性能優化》。

■ 華佗,運維的模式隨著5K的到來發生了很大的改變,在解決實際問題的過程中,華佗應運而生,上通飛天系統,下達運維各種系統。其架構足夠健壯、簡單和開 放,PE可以很方便地將自己豐富的運維經驗轉換成華佗的插件。華佗可以針對各種異常情況,進行故障磁盤管理還有系統異常處理,PE也可以通過它做流程和管 理自動化的工作。同時,不必再做幾分鐘的快速人工修復,而是當故障設備積累到一定量后批量地做替換,大量地節省了人力成本。當下華佗已經運用到磁盤管理、 機器管理、網絡故障檢測等多個場景,更多詳情可關注《走近華佗,解析自動化故障處理系統背后的秘密》。

■ 當運維的服務器達到數千臺甚至上萬規模機器的時候,必然會遇到諸多挑戰,如硬件配置的差異化,用戶數和任務數的急劇膨脹,大壓力下的邊界效應,小概率事件 被觸發等。在這個前提下需要做好快速部署,自動化運維、監控報警、Log分析、精細化計量等需求會越來越迫切。在這些方面,阿里付出了更多的心血以保證業 務穩定和安全的運行,詳情可見《飛天5K實戰經驗:大規模分布式系統運維實踐》。

當飛天第一個五千臺規模集群——飛天5K正式投入運營時,所承載上線的服務即是ODPS。以底層大規模分布式系統的性能優化和運維保障為基礎,支撐起了更上層的平臺——Open Data Processing System,開放數據處理服務。

ODPS譜寫飛天5K應用

ODPS和飛天的關系,可以追溯到更早的時候。

2010年春節,ODPS的前身SQL Engine第一版上線,運行在當時30臺機器的飛天集群上。2011年1月,由于業務上需要支持更多數據模型,SQL Engine被重構,命名為Data Engine數據倉庫發布上線,穩定運行在100臺機器上。但是,Data Engine 0.2支持的數據量還遠不滿足需要,而且它的穩定性還有待提升。2011年Q3,飛天團隊開始探索支撐集團內部數倉業務,利用莫邪(Moye)系統,在 1500臺機器上并行運行云梯1的生產作業,并取得了不輸于Hadoop的性能和穩定性成績。2012年Q1,團隊在Data Engine和莫邪之間做技術選擇,并決定使用莫邪作為

ODPS產品的核心引擎,Data Engine退出歷史舞臺。飛天5K項目之后,ODPS隨之進入5000臺機器和跨機房調度時代。作為飛天的重要模塊,它不僅僅得到了擴容,而且還進一步實現了跨集群的數據復制,詳情見《ODPS跨集群遷移與數據同步經驗分享》。

ODPS遠不只是一個簡單的大數據平臺,功能包括SQL,基于Java的MapReduce編程框架,圖計算編程模型,一系列機器學習算法的實現 等。所有的功能是以RESTful API的形式對外提供,從系統邊界上說,這層API隔離了ODPS平臺和用戶的系統,和Hadoop的區別也很明顯。ODPS設計之初就是為了對外開放, 做基于互聯網的多租戶的公共數據處理服務,所以安全性在ODPS的設計和實現中具有最高的優先級。ODPS作為離線數據處理平臺,許多新的技術也是第一次 應用到5K項目,并且經受了準生產環境的檢驗,同時也為未來數據業務長期發展打下了堅實的基礎。目前在阿里集團內部已經被廣泛用于海量結構化數據的處理分 析,幫助阿里集團將業務實踐沉淀的海量數據進行提煉分析,從而讓數據誕生新的價值。《ODPS技術架構及應用實踐》一文中對這些內容有更詳細的講述。

期待更多飛天精神

時至今日,已經實現5000節點單集群的飛天5K擁有驚人的規模:10萬核的計算能力;100PB存儲空間 ;可處理15萬并發任務數;可承載億級別文件數目;100TB排序30分鐘完成,遠超今年7月1日Yahoo!在Sort Benchmark排序測試Daytona Gray Sort所創造的世界紀錄——100TB排序完成時間約71分鐘。

飛天5K不僅成為阿里集團最為重要的技術平臺,而且集群中的計算、存儲等能力已經完全以云服務的方式在對外輸出。這意味著“云計算可以讓一個人的公司,跟一個很大的公司,站在同一條起跑線上競爭”。

飛天5K,不僅是阿里云計算技術發展的一個里程碑,同時也將注定在中國云計算技術發展的歷史中留下濃墨重彩的一筆。展望中國云計算產業的將來,期待有更多像飛天一樣的技術,也期待有更多像飛天一樣,百折不撓的精神。

</div>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!