精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

當前位置:存儲技術專區 → 正文

Facebook的Hadoop應用與故障轉移方案

責任編輯:vivian |來源:企業網D1Net  2012-07-05 08:46:59 本文摘自:ZDNET

在短短的60秒內,Facebook的用戶會分享684478條信息,Like按鈕被點擊34772次。龐大的業務量時刻考驗著Facebook的數據處理能力。我們知道,Facebook使用Hadoop來進行大數據的處理,但Facebook又是如何保障頻繁、龐大的數據請求等高壓環境下不發生故障的呢?我們一起來了解一下Facebook內部的Hadoop使用情況以及其NameNode故障轉移技術。  

Facebook Hadoop集群內目前的HDFS物理磁盤空間承載超過100PB的數據(分布在不同數據中心的100多個集群)。由于HDFS存儲著Hadoop應用需要處理的數據,因此優化HDFS成為Facebook為用戶提供高效、可靠服務至關重要的因素。

HDFS Namenode是如何工作的?

HDFS客戶端通過被稱之為Namenode單服務器節點執行文件系統原數據操作,同時DataNode會與其他DataNode進行通信并復制數據塊以實現冗余,這樣單一的DataNode損壞不會導致集群的數據丟失。

但NameNode出現故障的損失確是無法容忍的。NameNode主要職責是跟蹤文件如何被分割成文件塊、文件塊又被哪些節點存儲,以及分布式文件系統的整體運行狀態是否正常等。但如果NameNode節點停止運行的話將會導致數據節點無法通信,客戶端無法讀取和寫入數據到HDFS,實際上這也將導致整個系統停止工作。

Facebook的Hadoop應用與故障轉移方案

The HDFS Namenode is a single point of failure (SPOF)

Facebook也深知“Namenode-as-SPOF”所帶來問題的嚴重性,所以Facebook希望建立一套系統已破除“Namenode-as-SPOF”帶來的隱患。但在了解這套系統之前,首先來看一下Facebook在使用和部署HDFS都遇到了哪些問題。  

Facebook數據倉庫的使用

在Facebook的數據倉庫中部署著最大的HDFS集群,數據倉庫的使用情況是傳統的Hadoop MapReduce工作負載——在大型集群中一小部分運行MapReduce批處理作業

因為集群非常龐大,客戶端和眾多DataNode節點與NameNode節點傳輸海量的原數據,這導致NameNode的負載非常沉重。而來自CPU、內存、磁盤和網絡帶來的壓力也使得數據倉庫集群中NameNode高負載狀況屢見不鮮。在使用過程中Facebook發現其數據倉庫中由于HDFS引發的故障占總故障率的41%。 

 Facebook的Hadoop應用與故障轉移方案

HDFS NameNode是HDFS中的重要組成部分,同時也是整個數據倉庫中的重要組成部分。雖然高可用的NameNode只可以預防數據倉庫10%的計劃外停機,不過消除NameNode對于SPOF來說可謂是重大的勝利,因為這使得Facebook可執行預訂的硬件和軟件回復。事實上,Facebook預計如果解決NameNode可消除集群50%的計劃停機時間。

那么高可用性NameNode是什么樣子的?它將如何工作?讓我們來看一下高度可用性NameNode的圖表。

Facebook的Hadoop應用與故障轉移方案

在此結構中,客戶端可與Primary NameNode與Standby NameNode通信,同樣眾多DataNode也具備給Primary NameNode與Standby NameNode發送block reports的能力。實質上Facebook所研發的AvatarNode就是具備高可用NameNode的解決方案。

Avatarnode:具備NameNode故障轉移的解決方案

為了解決單NameNode節點的設計缺陷,大約在兩年前Facebook開始在內部使用AvatarNode工作。

同時AvatarNode提供了高可用性的NameNode以及熱故障切換和回滾功能,目前Facebook已經將AvatarNode貢獻到了開源社區。經過無數次的測試和Bug修復,AvatarNode目前已在Facebook最大的Hadoop數據倉庫中穩定運行。在這里很大程度上要感謝Facebook的工程師Dmytro Molkov。

當發生故障時,AvatarNode的兩個高可用NameNode節點可手動故障轉移。AvatarNode將現有的NameNode代碼打包并放置在Zookeeper層。

AvatarNode的基本概念如下:

•    具備Primary NameNode與Standby NameNode

•    當前Master主機名保存在ZooKeeper之中

•    改進的DataNode發送block reports到Primary NameNode與Standby NameNode

•    改進的HDFS客戶端將在每個事物開始之前對Zookeeper進行檢查,如果失敗會轉移到另外的事務之中。同時如果AvatarNode故障轉移出現在寫入的過程中,AvatarNode的機制將允許保證完整的數據寫入。

或許有人會Facebook這一解決方案的名字感到好奇,這是因為Facebook的Hadoop工程師Dhruba Borthakur來到公司時正好是James Cameron《阿凡達》電影熱映時間。(我們應該感到慶幸,如果是1998年的話或許應該叫TitanicNode了)。

AvatarNode經受住了Facebook內部最苛刻的工作環境,未來Facebook將繼續大幅度改善AvatarNode的可靠性和HDFS集群的管理性。并整合與一般高可用性框架的整合,還將實現無人值守、自動化與安全故障轉移等特性。

Facebook已將自身使用的Hadoop與AvatarNode解決方案托管到GitHub。感興趣的朋友可下載研究。當然不止Facebook在試圖解決Hadoop的缺陷,MapR和Cloudera的產品也具備相似的能力。

關鍵字:大數據故障應用Facebook

本文摘自:ZDNET

x Facebook的Hadoop應用與故障轉移方案 掃一掃
分享本文到朋友圈
當前位置:存儲技術專區 → 正文

Facebook的Hadoop應用與故障轉移方案

責任編輯:vivian |來源:企業網D1Net  2012-07-05 08:46:59 本文摘自:ZDNET

在短短的60秒內,Facebook的用戶會分享684478條信息,Like按鈕被點擊34772次。龐大的業務量時刻考驗著Facebook的數據處理能力。我們知道,Facebook使用Hadoop來進行大數據的處理,但Facebook又是如何保障頻繁、龐大的數據請求等高壓環境下不發生故障的呢?我們一起來了解一下Facebook內部的Hadoop使用情況以及其NameNode故障轉移技術。  

Facebook Hadoop集群內目前的HDFS物理磁盤空間承載超過100PB的數據(分布在不同數據中心的100多個集群)。由于HDFS存儲著Hadoop應用需要處理的數據,因此優化HDFS成為Facebook為用戶提供高效、可靠服務至關重要的因素。

HDFS Namenode是如何工作的?

HDFS客戶端通過被稱之為Namenode單服務器節點執行文件系統原數據操作,同時DataNode會與其他DataNode進行通信并復制數據塊以實現冗余,這樣單一的DataNode損壞不會導致集群的數據丟失。

但NameNode出現故障的損失確是無法容忍的。NameNode主要職責是跟蹤文件如何被分割成文件塊、文件塊又被哪些節點存儲,以及分布式文件系統的整體運行狀態是否正常等。但如果NameNode節點停止運行的話將會導致數據節點無法通信,客戶端無法讀取和寫入數據到HDFS,實際上這也將導致整個系統停止工作。

Facebook的Hadoop應用與故障轉移方案

The HDFS Namenode is a single point of failure (SPOF)

Facebook也深知“Namenode-as-SPOF”所帶來問題的嚴重性,所以Facebook希望建立一套系統已破除“Namenode-as-SPOF”帶來的隱患。但在了解這套系統之前,首先來看一下Facebook在使用和部署HDFS都遇到了哪些問題。  

Facebook數據倉庫的使用

在Facebook的數據倉庫中部署著最大的HDFS集群,數據倉庫的使用情況是傳統的Hadoop MapReduce工作負載——在大型集群中一小部分運行MapReduce批處理作業

因為集群非常龐大,客戶端和眾多DataNode節點與NameNode節點傳輸海量的原數據,這導致NameNode的負載非常沉重。而來自CPU、內存、磁盤和網絡帶來的壓力也使得數據倉庫集群中NameNode高負載狀況屢見不鮮。在使用過程中Facebook發現其數據倉庫中由于HDFS引發的故障占總故障率的41%。 

 Facebook的Hadoop應用與故障轉移方案

HDFS NameNode是HDFS中的重要組成部分,同時也是整個數據倉庫中的重要組成部分。雖然高可用的NameNode只可以預防數據倉庫10%的計劃外停機,不過消除NameNode對于SPOF來說可謂是重大的勝利,因為這使得Facebook可執行預訂的硬件和軟件回復。事實上,Facebook預計如果解決NameNode可消除集群50%的計劃停機時間。

那么高可用性NameNode是什么樣子的?它將如何工作?讓我們來看一下高度可用性NameNode的圖表。

Facebook的Hadoop應用與故障轉移方案

在此結構中,客戶端可與Primary NameNode與Standby NameNode通信,同樣眾多DataNode也具備給Primary NameNode與Standby NameNode發送block reports的能力。實質上Facebook所研發的AvatarNode就是具備高可用NameNode的解決方案。

Avatarnode:具備NameNode故障轉移的解決方案

為了解決單NameNode節點的設計缺陷,大約在兩年前Facebook開始在內部使用AvatarNode工作。

同時AvatarNode提供了高可用性的NameNode以及熱故障切換和回滾功能,目前Facebook已經將AvatarNode貢獻到了開源社區。經過無數次的測試和Bug修復,AvatarNode目前已在Facebook最大的Hadoop數據倉庫中穩定運行。在這里很大程度上要感謝Facebook的工程師Dmytro Molkov。

當發生故障時,AvatarNode的兩個高可用NameNode節點可手動故障轉移。AvatarNode將現有的NameNode代碼打包并放置在Zookeeper層。

AvatarNode的基本概念如下:

•    具備Primary NameNode與Standby NameNode

•    當前Master主機名保存在ZooKeeper之中

•    改進的DataNode發送block reports到Primary NameNode與Standby NameNode

•    改進的HDFS客戶端將在每個事物開始之前對Zookeeper進行檢查,如果失敗會轉移到另外的事務之中。同時如果AvatarNode故障轉移出現在寫入的過程中,AvatarNode的機制將允許保證完整的數據寫入。

或許有人會Facebook這一解決方案的名字感到好奇,這是因為Facebook的Hadoop工程師Dhruba Borthakur來到公司時正好是James Cameron《阿凡達》電影熱映時間。(我們應該感到慶幸,如果是1998年的話或許應該叫TitanicNode了)。

AvatarNode經受住了Facebook內部最苛刻的工作環境,未來Facebook將繼續大幅度改善AvatarNode的可靠性和HDFS集群的管理性。并整合與一般高可用性框架的整合,還將實現無人值守、自動化與安全故障轉移等特性。

Facebook已將自身使用的Hadoop與AvatarNode解決方案托管到GitHub。感興趣的朋友可下載研究。當然不止Facebook在試圖解決Hadoop的缺陷,MapR和Cloudera的產品也具備相似的能力。

關鍵字:大數據故障應用Facebook

本文摘自:ZDNET

電子周刊
回到頂部

關于我們聯系我們版權聲明隱私條款廣告服務友情鏈接投稿中心招賢納士

企業網版權所有 ©2010-2024 京ICP備09108050號-6 京公網安備 11010502049343號

^
  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 万宁市| 西丰县| 慈溪市| 邯郸市| 融水| 新河县| 门头沟区| 琼中| 靖远县| 灵丘县| 喀什市| 唐海县| 宕昌县| 桐城市| 延安市| 寿宁县| 金阳县| 苍南县| 双柏县| 全南县| 尖扎县| 浙江省| 铅山县| 镇康县| 象山县| 旌德县| 资源县| 安乡县| 怀化市| 沂水县| 惠安县| 呼伦贝尔市| 阳江市| 梁山县| 平陆县| 郓城县| 开江县| 桑日县| 松桃| 河津市| 永兴县|