好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Facebook的Hadoop和AvatarNode集群方案簡介

Facebook的Hadoop和AvatarNode集群方案簡介

熱門標簽:廣安電銷外呼系統 百度地圖標注不能編輯 搜地圖標注怎么找店鋪 徐州穩定外呼系統代理商 七臺河商家地圖標注注冊 個人家庭地圖標注教程 威海語音外呼系統廠家 勝威電話外呼系統密碼 百度高德騰訊地圖標注公司

Facebook作為全球知名的社交網站,擁有超過3億的活躍用戶,其中約有3千萬用戶至少每天更新一次自己的狀態;用戶每月總共上傳10億余張照片、1千萬個視頻;以及每周共享10億條內容,包括日志、鏈接、新聞、微博等。因此Facebook需要存儲和處理的數據量是非常巨大的,每天新增加4TB壓縮后的數據,掃描135TB大小的數據,在集群上執行Hive任務超過7500次,每小時需要進行8萬次計算,所以高性能的云平臺對Facebook來說是非常重要的,而Facebook主要將Hadoop平臺用于日志處理、推薦系統和數據倉庫等方面。

Facebook將數據存儲在利用Hadoop/Hive搭建的數據倉庫上,這個數據倉庫擁有4800個內核,具有5.5PB的存儲量,每個節點可存儲12TB大小的數據,同時,它還具有兩層網絡拓撲。Facebook中的MapReduce集群是動態變化的,它基于負載情況和集群節點之間的配置信息可動態移動。

Facebook的數據倉庫架構,在這個架構中,網絡服務器和內部服務生成日志數據,這里Facebook使用開源日志收集系統,它可以將數以百計的日志數據集存儲在NFS服務器上,但大部分日志數據會復制到同一個中心的HDFS實例中,而HDFS存儲的數據都會放到利用Hive構建的數據倉庫中。Hive提供了類SQL的語言來與MapReduce結合,創建并發布多種摘要和報告,以及在它們的基礎上進行歷史分析。Hive上基于瀏覽器的接口允許用戶執行Hive查詢。Oracle和MySQL數據庫用來發布這些摘要,這些數據容量相對較小,但查詢頻率較高并需要實時響應。一些舊的數據需要及時歸檔,并存儲在較便宜的存儲器上。

下面介紹Facebook在AvatarNode和調度策略方面所做的一些工作。AvatarNode主要用于HDFS的恢復和啟動,若HDFS崩潰,原有技術恢復首先需要花10~15分鐘來讀取12GB的文件鏡像并寫回,還要用20~30分鐘處理來自2000個DataNode的數據塊報告,最后用40~60分鐘來恢復崩潰的NameNode和部署軟件。表3-1說明了BackupNode和AvatarNode的區別,AvatarNode作為普通的NameNode啟動,處理所有來自DataNode的消息。AvatarDataNode與DataNode相似,支持多線程和針對多個主節點的多隊列,但無法區分原始和備份。人工恢復使用AvatarShell命令行工具,AvatarShell執行恢復操作并更新ZooKeeper的zNode,恢復過程對用戶來說是透明的。分布式Avatar文件系統實現在現有文件系統的上層。

基于位置的調度策略在實際應用中存在著一些問題:如需要高內存的任務可能會被分配給擁有低內存的TaskTracker;CPU資源有時未被充分利用;為不同硬件的TaskTracker進行配置也比較困難等。Facebook采用基于資源的調度策略,即公平享有調度方法,實時監測系統并收集CPU和內存的使用情況,調度器會分析實時的內存消耗情況,然后在任務之間公平分配任務的內存使用量。它通過讀取/proc/目錄解析進程樹,并收集進程樹上所有的CPU和內存的使用信息,然后通過TaskCounters在心跳(heartbeat)時發送信息。

Facebook的數據倉庫使用Hive,這里HDFS支持三種文件格式:文本文件(TextFile),方便其他應用程序讀寫;順序文件(SequenceFile),只有Hadoop能夠讀取并支持分塊壓縮;RCFile,使用順序文件基于塊的存儲方式,每個塊按列存儲,這樣有較好的壓縮率和查詢性能。Facebook未來會在Hive上進行改進,以支持索引、視圖、子查詢等新功能。

現在Facebook使用Hadoop遇到的挑戰有:

服務質量和隔離性方面,較大的任務會影響集群性能;

安全性方面,如果軟件漏洞導致NameNode事務日志崩潰該如何處理;

數據歸檔方面,如何選擇歸檔數據,以及數據如何歸檔;

性能提升方面,如何有效地解決瓶頸等。


解決Namenode頑疾

Google在2004年創造了MapReduce,MapReduce系統獲得成功的原因之一是它為編寫需要大規模并行處理的代碼提供了簡單的編程模式。MapReduce集群可包括數以千計的并行操作的計算機。同時MapReduce允許程序員在如此龐大的集群中快速的轉換數據并執行數據。它受到了Lisp的函數編程特性和其他函數式語言的啟發。MapReduce和云計算非常相配。MapReduce的關鍵特點是它能夠對開發人員隱藏操作并行語義 — 并行編程的具體工作方式。

HDFS(Hadoop Distributed Filesystem)是專為MapReduce框架而下大規模分布式數據處理而設計的,HDFS可將大數據集(TB級)存儲為單個文件,而大多文件系統并不具備這樣的能力。(編者注:NTFS5 Max Files on Volume:264 bytes (16 ExaBytes) minus 1KB,1EB = 1,000,000 TB)。這也是HDFS風靡全球的重要原因。

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

HDFS Namenode是如何工作的?

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

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

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%。

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

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

在此結構中,客戶端可與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的基本概念如下:

1.具備Primary NameNode與Standby NameNode

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

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

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

Avatarnode客戶端

Avatarnode DataNode

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

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

Facebook已將自身使用的Hadoop與AvatarNode解決方案托管到GitHub。感興趣的朋友可下載研究。

當然不止Facebook在試圖解決Hadoop的缺陷,MapR和Cloudera的產品也具備相似的能力。

標簽:吳忠 臨沂 昭通 云浮 婁底 三明 滁州 威海

巨人網絡通訊聲明:本文標題《Facebook的Hadoop和AvatarNode集群方案簡介》,本文關鍵詞  Facebook,的,Hadoop,和,AvatarNode,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Facebook的Hadoop和AvatarNode集群方案簡介》相關的同類信息!
  • 本頁收集關于Facebook的Hadoop和AvatarNode集群方案簡介的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 成人黄动漫画免费网站视频| 1v2或1v3H多肉| 啦啦爱在线观看免费视频| 公主被绑住扒开双乳折磨小说| 91无限观看| 久久精品免费i国产| 无遮无挡动态图| 在线免费黄| 国产精品国产三级国产专区53| 处破女八A片60钟粉嫩| 韩国一级毛片视频免费观看 | 免费丝袜脚足控网站| 黄色片视频免费| 色妞色视频一区二区三区四区| 男女无遮挡激情120秒免费观看| 菠萝菠萝蜜中文在线观看6| 魔音音乐app最新版下载| 淑女涩男| 黄色网网站| 潘金莲三级女学生| 萌白酱一区二区在免费线观看| 办公室双腿打开揉弄在线观看| 精品视频一区二区三区四区五区| 992tv在线观看免费进| 男男开荤粗肉被猛男狂翘臀视频| 韩国大尺度电影《男与女》| 齐天大圣孙悟空张卫健国语版全集高清| 午夜←国产精品一区二区视频 | 在线免费观看黄色小视频| 高h爽文| 亚洲另类xxxx| 阿娇陈冠希奶头被咬得又红又肿| 韩国福利视频一区二区三区| 欧美 大码 变态 另类| 男人靠女人视频无遮挡大全 | 欧美亚洲国产另类在线观看| 欧美第八页| 人人爽天天爽| 日韩免费影院| 精品久久香蕉国产线看亚洲动漫| 胸罩脱了我要摸你的胸|