日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Facebook如何使用Avartarnode提升HDFS可靠性

發布時間:2023/11/27 生活经验 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Facebook如何使用Avartarnode提升HDFS可靠性 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在不久前的Hadoop峰會上,Facebook的工程師Andrew Ryan分享了他們如何使用Namenode和Avatarnode提升HDFS可靠性的方法。Ryan從2009年開始,就參與到了Facebook的 Hadoop開發中。在他的幫助下,Facebook的Hadoop和HDFS數據基礎設施,從一個數據中心的單個600TB集群,發展到了多個數據中心 超過100多個HDFS集群。

Ryan首先分析了HDFS的Namenode機制。

圖:Namenode,單點故障點

在HDFS中,客戶端通過Namenode服務器完成文件系統的元數據操作,并與一個Datanode池通信,以發送和接受文件系統數據。數據在多個Datanode上都有復制,因此一個Datanode宕機不會出現數據丟失,對集群也不應是致命問題。

但是Namenode就不是這樣,所有的元數據操作都要通過它完成。如果Namenode不可用,任何客戶端就無法從HDFS完成讀寫操作,雖然客 戶端仍可以從Datanode中讀出單個數據塊,但是整個HDFS就處于宕機狀態,所有依賴于HDFS的用戶和應用就無法正常工作。?

因此,HDFS Namenode是一個單點故障點(SPOF)。

Ryan指出:在Facebook,他們希望知道這個問題的影響范圍,并嘗試找出解決這個問題的方法。

Data Warehouse是Facebook最大的HDFS部署之一,他們用其完成傳統的HadoopMapReduce工作:有一些非常大的集群運行 MapReduce批處理。由于集群很大,Namenode的負載非常高,CPU、內存、磁盤和網絡都常常處于很大的壓力之下。他們的統計發現:在 Data Warehouse發生的問題中,41%是由HDFS造成的,這也是最大的問題肇因。

Ryan接下來指出:如果能有某種高可用的Namenode方案,也許能防止10%的Data Warehouse問題和突發的宕機時間,這仍然是一個巨大的勝利,因為這讓他們可以執行計劃好的軟件與硬件維護操作。實際上,他們估計這可以減少他們 50%計劃好的宕機時間,而之前在這些時間里集群都是不可用的。

下圖是他們的高可用Namenode HDFS架構的簡化版本。

圖:高可用的Namenode

在這個架構中,客戶端可以與Primary Namenode或是Standby Namenode通信,Datanode也可以向這兩個服務器發送塊報告,實現了高可用的Namenode——Avatarnode。

Ryan提到:Facebook在兩年前就開始研究Avatarnode。現在,這已經是一個開源項目,提供高可用的Namenode,支持熱切 換。目前,在Facebook中,Avatarnode已經進入生產環境,并運行在他們最大的Hadoop Data Warehouse集群中。

Avatarnode是一個雙節點的、高可用的Namenode,需要手工完成故障切換。它將現有的Namenode代碼包裝在一個Zookeeper層中。Avatarnode的基本概念包括:

  • Primary Avatarnode和Standby Avatarnode角色可互換。
  • 當前的Primary Avatarnode主機名保存在Zookeeper中。
  • 修改后的Datanode的塊報告要同時發送給Primary Avatarnode和Standby Avatarnode。
  • 修改后的HDFS客戶端在開始每次事務前,要檢查Zookeeper,如果以此事務失敗,要再次檢查Zookeeper。即使Avatarnode發生故障切換,一次寫操作也可以得以完成。

圖:客戶端視角

圖:Datanode視角

Ryan指出:接下來,他們要進一步提升Avatarnode,并將其整合在一個通用的高可用框架中,使之能夠完成不需人工參與的、自動化的、安全的故障切換。

讀者可以訪問GitHub上Facebook發布的Hadoop版本,其中包括Avatarnode源代碼。

除了Facebook之外,還有其他公司也致力于解決這個問題,包括:

  • Appistry,2010年就發布了一個完全分布式的文件系統
  • MapR的Hadoop版本也提供高可用的文件系統
  • Apache的Hadoop 2.0中,也包括了Cloudera的最新發布版本

InfoQ的讀者,不知道您對如何解決Namenode高可用問題有何意見和看法?歡迎在評論中分享您的經驗。

轉載于:https://www.cnblogs.com/shihao/archive/2012/08/28/2660727.html

總結

以上是生活随笔為你收集整理的Facebook如何使用Avartarnode提升HDFS可靠性的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。