阿里巴巴作為國內使用hadoop最早的公司之一,已開啟了apache hadoop 2.0時代。阿里巴巴的hadoop集群,即雲梯集群,分為儲存與計算兩個模組,計算模組既有mrv1,也有yarn集群,它們共享乙個儲存hdfs集 群。雲梯yarn集群上既支援mapreduce,也支援spark、mpi、rhive、rhadoop等計算模型。本文將詳細介紹雲梯yarn集群的 技術實現與發展狀況。
mrv1與yarn集群共享hdfs儲存的技術實現
以服務化為起點,雲梯集群已將hadoop分為儲存(hdfs)服務與計算(mrv1和yarn)服務。兩個計算集群共享著這個hdfs儲存集群,這是怎麼做到的呢?
在引入yarn之前,雲梯的hadoop是乙個基於apache hadoop 0.19.1-dc版本,並增加許多新功能的版本。另外還相容了apache hadoop 0.19、0.20、cdh3版本的客戶端。為了保持對客戶端友好,雲梯服務端公升級總會保持對原有客戶端的相容性。另外,為了訪問資料的便捷性,阿里的存 儲集群是乙個單一的大集群,引入yarn不應迫使hdfs集群拆分,但yarn是基於社群0.23系列版本,它無法直接訪問雲梯hdfs集群。因此實現 yarn集群訪問雲梯的hdfs集群是引入yarn後第乙個需要解決的技術問題。
hadoop**主要分為common、hdfs、mapred三個包。
為了儘量減少對雲梯hdfs的修改,開發人員主要做了以下工作。
圖1 雲梯hadoop**架構
新的雲梯**結構如圖1所示,相應闡述如下。
服務端
客戶端
雲梯mr服務切換為yarn要經過三個階段
通過上述修改,雲梯開發人員以較小的修改實現了yarn對雲梯hdfs的訪問。
spark on yarn的實現
雲梯版yarn集群已實現對mrv2、hive、spark、mpi、rhive、rhadoop等應用的支援。雲梯集群當前結構如圖2所示。
圖2 雲梯架構圖
其中,spark已成為yarn集群上除mapreduce應用外另乙個重要的應用。
spark是乙個分布式資料快速分析專案。它的核心技術是彈性分布式資料集(resilient distributed datasets),提供了比mapreduce豐富的模型,可以快速在記憶體中對資料集進行多次迭代,來支援複雜的資料探勘演算法和圖形計算演算法。
spark 的計算排程方式,從mesos到standalone,即自建spark計算集群。雖然standalone方式效能與穩定性都得到了提公升,但自建集群畢 竟資源較少,並需要從雲梯集群複製資料,不能滿足資料探勘與計算團隊業務需求。而spark on yarn能讓spark計算模型在雲梯yarn集群上執行,直接讀取雲梯上的資料,並充分享受雲梯yarn集群豐富的計算資源。
spark on yarn功能理論上從spark 0.6.0版本開始支援,但實際上還遠未成熟,經過資料探勘與計算團隊長時間的壓力測試,修復了一些相對關鍵的bug,保證spark on yarn的穩定性和正確性。
圖3展示了spark on yarn的作業執行機制。
圖3 spark on yarn框架
目前,資料探勘與計算團隊通過spark on yarn已實現mlr、pagerank和jmeans演算法,其中mlr已作為生產作業執行。
雲梯yarn集群維護經驗分享
雲梯yarn的維護過程中遇到許多問題,這些問題在維護yarn集群中很有可能會遇到,這裡分享兩個較典型的問題與其解決方法。
問題描述:社群的cpu隔離與排程功能,需要在每個nodemanager所在的機器建立使用者賬戶對應的linux賬戶。但阿里雲梯集群有5000多個賬 戶,是否需要在每個nodemanager機器建立這麼多linux賬戶;另外每次建立或刪除乙個hadoop使用者,也應該在每台nodemanager 機器上建立或刪除相應的linux賬戶,這將大大增加運維的負擔。
解決方案:通過修改container-executor.c檔案,防止其修改container的啟動賬戶,並使用乙個統一的普通linux賬戶(無sudo許可權)執行container。這既能保證安全,又能減少運維的工作量。
此外,雲梯開發人員還解決了一些會使resourcemanager不工作的bug,並貢獻給apache hadoop社群。
在搭建與維護雲梯yarn集群期間,雲梯開發人員遇到並解決了許多問題,分析和解決這些問題首先需要熟悉**,但**量巨大,我們如何能快速熟悉它們呢?這 需要團隊的配合,團隊中每個人負責不同模組,閱讀後輪流分享,這能加快**熟悉速度。另外,hadoop的優勢在於可以利用社群的力量,當遇到乙個問題 時,首先可以到社群尋找答案,因為很多問題在社群已得到了解決,充分利用社群,可以大大提高工作效率。
雲梯yarn集群的優勢與未來之路
當前雲梯yarn集群已經試執行,並有mrv2、hive、spark、rhive和rhadoop等應用。雲梯yarn集群的優勢在於:
未來,雲梯將會把大多業務遷移到雲梯yarn集群。針對yarn版本,雲梯將增加資源隔離與排程,增加對storm、tez等計算模型的支援,並優化yarn的效能。
作者沈洪,花名俞靈,就職於阿里巴巴集團資料平台事業部海量資料部門,目前從事yarn、mapreduce的研究、開發與集群的維護。
深入剖析阿里巴巴雲梯YARN集群
mrv1與yarn集群共享hdfs儲存的技術實現 以服務化為起點,雲梯集群已將hadoop分為儲存 hdfs 服務與計算 mrv1和yarn 服務。兩個計算集群共享著這個hdfs儲存集群,這是怎麼做到的呢?在引入yarn之前,雲梯的hadoop是乙個基於apache hadoop 0.19.1 dc...
阿里巴巴AI Pandas
1.series 主要用於處理一維資料,一般由乙個陣列的資料構成。2.dataframe 主要用於處理二維資料。from pandas import series,dataframe series eg import pandas as pd s1 pd.series 1,2,3,4 s1 0 1 ...
「妖精」團隊 阿里巴巴
6年 這個正迅速擴張的團隊仍超乎尋常地保持著 亢奮 和 戰鬥欲 有人質疑這是 精神控制術 而阿里巴巴決定在新年將塑造團隊的種種魔力 制度化 成為其 基本法 在以 白娘子傳奇 聞名的江南杭城,坐落著兩個氣質與這座城市極不搭調的樓層。15天前,這個富有 攻擊性 的空間 迫使全球最有影響力的女人之一,eb...