Hadoop分布式文件系統(tǒng)(HDFS)會不會被淘汰恐锣?

首先我們應該更具體的理解這樣一個現象仁卷,為什么流行的技術框架會被淘汰。談到淘汰邀窃,常見兩種情況:

第一:應用模式被淘汰了荸哟,例如:BB機,功能機瞬捕,最終被智能機淘汰鞍历,膠卷被數碼相機淘汰,即便諾基亞的功能機做得再完美肪虎,也會被淘汰堰燎。軟件方面例如:終端的字處理,郵件收發(fā)等應用軟件被視窗應用軟件淘汰笋轨。

第二:技術升級,新技術彌補了老技術的缺陷赊淑,并且引入了更多有優(yōu)勢的功能爵政。例如:Springframework的橫空出世,配合Hibernate陶缺,在具有同樣功效的情況下钾挟,解決了EJB的部署復雜,體態(tài)臃腫饱岸,計算效率低掺出,用靈活性,面向程序員的友好性苫费,淘汰了曾經企業(yè)級經典的EJB汤锨。

那么對于Hadoop分布式文件系統(tǒng)(HDFS),我們要討論它的淘汰可能性百框,淘汰時間闲礼,首先我們就要看它為什么要被淘汰的因素。從模式上,分布式文件系統(tǒng)是大數據存儲技術極為重要的一個領域柬泽,我們還看不到分布式文件系統(tǒng)有被淘汰的任何理由慎菲,那么我就再看技術升級是否有淘汰它的可能性。

談技術升級锨并,首先要看HDFS的缺點露该,然后再看這種缺點的解決辦法,是否會帶來新的技術框架第煮,然后讓HDFS埋進歷史的垃圾堆解幼。

01?部署復雜

HDFS為集中式協(xié)調架構,namenode若是單節(jié)點空盼,部署并不復雜书幕,但是namenode作為單節(jié)點無法可靠的運行在生產環(huán)境,必須對namenode實現雙機HA揽趾,那么部署復雜度就變得極高台汇,這時候需要在namenode,datanode的基礎上再引入namenode active篱瞎,namenode standby的概念苟呐,需要引入QJM的元數據共享存儲并基于Paxos做一致性協(xié)調,另外需要引入ZKFC和ZooKeeper俐筋,解決主備選舉牵素,健康探測,主備切換等操作澄者。

復雜的HDFS HA架構

因此HDFS的部署復雜度完全是因為namenode HA導致的笆呆。這是集中式管理的分布式架構一個原生問題,如果在這個地方進行優(yōu)化的話粱挡,那么就是簡化QJM赠幕,ZKFC,ZooKeeper的多組服務询筏,用一組服務來代替榕堰,但是namenode和datanode的分布式數據塊的讀寫,復制嫌套,恢復機制逆屡,目前看非常成熟,高效踱讨,這是核心問題魏蔗,并不是缺點,不需要更具顛覆性的優(yōu)化痹筛。

02?元數據的內存瓶頸

由于namenode在內存中記錄了所有數據塊(block 默認128M)的信息沫勿,索引了數據塊與datanode的關系挨约,并且構建了文件系統(tǒng)樹,因此可想而知namenode的元數據內存區(qū)是大量占用內存产雹,這是沒有上限的诫惭。對于較大型數據存儲項目,例如上百個datanode節(jié)點和上千萬個數據塊的容量來說蔓挖,元數據在namenode的內存大概能控制在32G以內夕土,這是還沒問題的,但是對于構建海量數據中心的超大型項目瘟判,這個問題就好像達摩克斯之劍怨绣,首先堆內存超過臨界范圍導致的內存尋址性能問題不說,一旦namenode內存超限到單機內存可承載的物理上最大承受范圍拷获,整個hdfs數據平臺將面臨停止服務篮撑。

這個問題的本質還是Google設計GFS時候采用粗放的實用主義,先把元數據都交給主節(jié)點在內存中節(jié)制匆瓜,超大問題以后再解決赢笨。目前Google的GFS2設計上,已經將元數據在內存中遷移至了BigTable上驮吱,那么問題就來了:“BigTable基于GFS茧妒,而GFS2的元數據基于BigTable”?有點雞生蛋還是蛋生雞的自相矛盾左冬。是的桐筏,看似矛盾實質上是架構的嵌套復用,可以這么去解讀:GFS2是基于<基于GFS的BigTable的元數據存儲>的下一代GFS架構拇砰。用BigTable的k-v存儲模型放GFS2的元數據梅忌,雖然沒有內存高效,但是夠用除破,而且可以無限存儲铸鹰,用BigTable專門存儲元數據形成的k-v記錄最終保存成GFS數據塊,因此在GFS的元數據內存中只需少量的內存占用皂岔,就能支撐天量的真正應用于數據塊存儲的GFS2元數據。

基于GFS2的設計思想展姐,我相信下一代HDFS應該也是這樣的方案去解決元數據的內存瓶頸問題躁垛,也就是基于<基于HDFS的HBase的元數據存儲>的下一代HDFS架構。那么HDFS的元數據瓶頸問題將被徹底解決圾笨,很難看到比這更具優(yōu)勢的替代性技術框架了教馆。

如下圖所示:

GFS?V2假想圖

03?默認副本數占用空間

副本數默認為3最大的問題就是占空間,這幾乎是所有傳統(tǒng)分布式文件系統(tǒng)(DFS)的通病擂达。因此HDFS集群的默認空間利用率只有33.3%土铺,這么低的利用率顯然不符合一些場景,例如長期的冷數據備份,那么有沒有更好的方式呢悲敷?是有的究恤,目前比較成熟的方案就是糾刪碼技術,類似raid5后德,raid6部宿,HDFS 3.0版本以后支持這種模式,叫做Erasure Coding(EC)方案瓢湃。

HDFS是怎么通過EC方案解決磁盤利用率的問題呢理张?我們先聊點比較硬的原理,說說EC方案之一的條形布局:

首先數據文件寫的時候會向N個節(jié)點的塊(Block)依次寫入绵患,N個Block會被切成多組條(stripe?1... stripe n)雾叭,如果分布式環(huán)境有五個存儲節(jié)點(DataNode),那么就把stripe切成3個單元(cell)落蝙,然后再根據這3個cell計算出2個校驗cell织狐,然后這5個cell(3個data+2個parity)分別寫入5個Block中。數據條就這么依次輪巡的方式掘殴,將校驗塊的位置輪換存儲在不同Block上赚瘦,直至寫滿,這樣校驗塊的分布可以更均勻奏寨。

HDFS EC Striping?Layout

其次再說取數據起意,取數據每次只從3個DataNode中各取出1個cell,如果這3個cell都是數據cell病瞳,那么就成功拿到一組數據條stripe揽咕,如果有一個cell是校驗cell,那么就能通過校驗cell和另外2個數據cell計算出第3個數據cell套菜,完成數據條stripe的組合亲善。這種情況下,即便是5個datanode節(jié)點有2個datanode宕機了逗柴,另外3個datanode也能通過校驗碼計算完成剩余2個節(jié)點的數據蛹头,這就是利用糾刪碼技術實現數據冗余的原理。

通過這種方式戏溺,我們就比傳統(tǒng)2副本50%渣蜗,3副本33.3%的多副本模式要省空間,EC中2+1可以達到66.7%的磁盤利用率旷祸,例子是3+2可以達到60%的磁盤利用率

但是其問題是特別消耗CPU計算耕拷,上面那種讀取情況,五分之三的讀取數據條時間都要進行校驗碼計算托享。因此可以利用Intel CPU推出的ISA-L底層函數庫專門用于提升校糾刪碼算法的編解碼性能骚烧。通常情況下浸赫,糾刪碼用于冷數據的冗余,也就是不經常訪問赃绊,但又必須聯(lián)機存儲以備查詢的數據既峡。除了磁盤利用率,多副本方式用空間換效率的方式肯定是最好凭戴,沒什么問題涧狮。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市么夫,隨后出現的幾起案子者冤,更是在濱河造成了極大的恐慌,老刑警劉巖档痪,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件涉枫,死亡現場離奇詭異,居然都是意外死亡腐螟,警方通過查閱死者的電腦和手機愿汰,發(fā)現死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來乐纸,“玉大人衬廷,你說我怎么就攤上這事∑睿” “怎么了吗跋?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長宁昭。 經常有香客問我跌宛,道長,這世上最難降的妖魔是什么积仗? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任疆拘,我火速辦了婚禮,結果婚禮上寂曹,老公的妹妹穿的比我還像新娘哎迄。我一直安慰自己,他們只是感情好隆圆,可當我...
    茶點故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布漱挚。 她就那樣靜靜地躺著,像睡著了一般匾灶。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上租漂,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天阶女,我揣著相機與錄音颊糜,去河邊找鬼。 笑死秃踩,一個胖子當著我的面吹牛衬鱼,可吹牛的內容都是我干的。 我是一名探鬼主播憔杨,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼鸟赫,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了消别?” 一聲冷哼從身側響起抛蚤,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎寻狂,沒想到半個月后岁经,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡蛇券,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年缀壤,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片纠亚。...
    茶點故事閱讀 38,789評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡塘慕,死狀恐怖,靈堂內的尸體忽然破棺而出蒂胞,到底是詐尸還是另有隱情图呢,我是刑警寧澤,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布啤誊,位于F島的核電站岳瞭,受9級特大地震影響,放射性物質發(fā)生泄漏蚊锹。R本人自食惡果不足惜瞳筏,卻給世界環(huán)境...
    茶點故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望牡昆。 院中可真熱鬧姚炕,春花似錦、人聲如沸丢烘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽播瞳。三九已至掸刊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間赢乓,已是汗流浹背忧侧。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工石窑, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蚓炬。 一個月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓松逊,卻偏偏與公主長得像,于是被迫代替她去往敵國和親肯夏。 傳聞我的和親對象是個殘疾皇子经宏,可洞房花燭夜當晚...
    茶點故事閱讀 43,697評論 2 351

推薦閱讀更多精彩內容