偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Facebook的Hadoop應(yīng)用與故障轉(zhuǎn)移方案

運(yùn)維 系統(tǒng)運(yùn)維 Hadoop
我們知道,F(xiàn)acebook使用Hadoop來進(jìn)行大數(shù)據(jù)的處理,但Facebook又是如何保障頻繁、龐大的數(shù)據(jù)請求等高壓環(huán)境下不發(fā)生故障的呢?我們一起來了解一下Facebook內(nèi)部的Hadoop使用情況以及其NameNode故障轉(zhuǎn)移技術(shù)。

我們知道,F(xiàn)acebook使用Hadoop來進(jìn)行大數(shù)據(jù)的處理,但Facebook又是如何保障頻繁、龐大的數(shù)據(jù)請求等高壓環(huán)境下不發(fā)生故障的呢?我們一起來了解一下Facebook內(nèi)部的Hadoop使用情況以及其NameNode故障轉(zhuǎn)移技術(shù)。

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

HDFS Namenode是如何工作的?

HDFS客戶端通過被稱之為Namenode單服務(wù)器節(jié)點(diǎn)執(zhí)行文件系統(tǒng)原數(shù)據(jù)操作,同時DataNode會與其他DataNode進(jìn)行通信并復(fù)制數(shù)據(jù)塊以實(shí)現(xiàn)冗余,這樣單一的DataNode損壞不會導(dǎo)致集群的數(shù)據(jù)丟失。

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

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

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

Facebook數(shù)據(jù)倉庫的使用

在Facebook的數(shù)據(jù)倉庫中部署著***的HDFS集群,數(shù)據(jù)倉庫的使用情況是傳統(tǒng)的Hadoop MapReduce工作負(fù)載——在大型集群中一小部分運(yùn)行MapReduce批處理作業(yè)

因?yàn)榧悍浅}嫶?,客戶端和眾多DataNode節(jié)點(diǎn)與NameNode節(jié)點(diǎn)傳輸海量的原數(shù)據(jù),這導(dǎo)致NameNode的負(fù)載非常沉重。而來自CPU、內(nèi)存、磁盤和網(wǎng)絡(luò)帶來的壓力也使得數(shù)據(jù)倉庫集群中NameNode高負(fù)載狀況屢見不鮮。在使用過程中Facebook發(fā)現(xiàn)其數(shù)據(jù)倉庫中由于HDFS引發(fā)的故障占總故障率的41%。

HDFS NameNode是HDFS中的重要組成部分,同時也是整個數(shù)據(jù)倉庫中的重要組成部分。雖然高可用的NameNode只可以預(yù)防數(shù)據(jù)倉庫10%的計(jì)劃外停機(jī),不過消除NameNode對于SPOF來說可謂是重大的勝利,因?yàn)檫@使得Facebook可執(zhí)行預(yù)訂的硬件和軟件回復(fù)。事實(shí)上,F(xiàn)acebook預(yù)計(jì)如果解決NameNode可消除集群50%的計(jì)劃停機(jī)時間。

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

在此結(jié)構(gòu)中,客戶端可與Primary NameNode與Standby NameNode通信,同樣眾多DataNode

也具備給Primary NameNode與Standby NameNode發(fā)送block reports的能力。實(shí)質(zhì)上Facebook所研發(fā)的AvatarNode就是具備高可用NameNode的解決方案。

Avatarnode:具備NameNode故障轉(zhuǎn)移的解決方案

為了解決單NameNode節(jié)點(diǎn)的設(shè)計(jì)缺陷,大約在兩年前Facebook開始在內(nèi)部使用AvatarNode工作。

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

當(dāng)發(fā)生故障時,AvatarNode的兩個高可用NameNode節(jié)點(diǎn)可手動故障轉(zhuǎn)移。AvatarNode將現(xiàn)有的NameNode代碼打包并放置在Zookeeper層。

AvatarNode的基本概念如下:

  • 具備Primary NameNode與Standby NameNode
  • 當(dāng)前Master主機(jī)名保存在ZooKeeper之中
  • 改進(jìn)的DataNode發(fā)送block reports到Primary NameNode與Standby NameNode
  • 改進(jìn)的HDFS客戶端將在每個事物開始之前對Zookeeper進(jìn)行檢查,如果失敗會轉(zhuǎn)移到另外的事務(wù)之中。同時如果AvatarNode故障轉(zhuǎn)移出現(xiàn)在寫入的過程中,AvatarNode的機(jī)制將允許保證完整的數(shù)據(jù)寫入。

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

AvatarNode經(jīng)受住了Facebook內(nèi)部最苛刻的工作環(huán)境,未來Facebook將繼續(xù)大幅度改善AvatarNode的可靠性和HDFS集群的管理性。并整合與一般高可用性框架的整合,還將實(shí)現(xiàn)無人值守、自動化與安全故障轉(zhuǎn)移等特性。

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

責(zé)任編輯:黃丹 來源: In Big Data
相關(guān)推薦

2012-06-15 09:54:19

FacebookHadoop

2025-02-19 10:27:48

哨兵Redis故障轉(zhuǎn)移

2011-05-26 13:07:29

數(shù)據(jù)庫切換故障轉(zhuǎn)移

2009-02-03 17:50:03

服務(wù)器虛擬化VMware

2010-07-08 10:53:09

Windows Ser故障轉(zhuǎn)移群集

2010-07-05 12:16:03

SQL Server

2011-08-29 10:15:13

FacebookHadoopHBase

2012-11-29 13:43:36

Hyper-V

2017-01-23 17:34:28

2021-05-12 09:15:48

Facebook 開發(fā)技術(shù)

2010-11-29 16:22:32

虛擬化高可用性

2012-05-10 17:18:42

Facebook應(yīng)用中心

2012-11-14 09:20:00

大數(shù)據(jù)PrismHadoop

2011-04-22 17:15:57

2015-07-23 13:43:43

vSphereHA虛擬化

2010-08-05 10:55:37

FacebookTwitter

2019-06-11 08:16:01

物聯(lián)網(wǎng)平臺物聯(lián)網(wǎng)IOT

2011-09-01 10:59:49

Foodily菜譜

2011-08-05 09:40:45

Facebook數(shù)據(jù)中心

2015-11-09 11:23:09

FacebookFOOMs
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號