Facebook分享:解決Hadoop的單一故障點
譯文【51CTO快譯】Facebook的工程師們開發(fā)出了一種方法,以規(guī)避Hadoop數(shù)據(jù)分析平臺的一個根本缺點:只依賴單單一臺名稱服務(wù)器來協(xié)調(diào)所有運營。
在本周于加利福尼亞州圣何塞召開的Hadoop峰會上,F(xiàn)acebook工程師Andrew Ryan討論了這種變通方法。他還在Facebook上發(fā)布了其演講的摘要內(nèi)容。
Facebook擁有可能是世界上規(guī)模最龐大的基于Hadoop分布式文件系統(tǒng)(HDFS)的數(shù)據(jù)集,總共超過100PB,散布于其諸數(shù)據(jù)中心的100個不同的集群之間。
盡管Hadoop越來越經(jīng)常用于大規(guī)模數(shù)據(jù)分析任務(wù),但是用專業(yè)的話來說,它存在單一故障點。雖然部署的Hadoop系統(tǒng)可能橫跨數(shù)百臺、乃至數(shù)千服務(wù)器,但是整個運營依賴一臺叫做名稱節(jié)點(namenode)的單一服務(wù)器,負(fù)責(zé)協(xié)調(diào)諸數(shù)據(jù)節(jié)點之間的所有流量。要是這一個名稱節(jié)點停止運行,那么諸數(shù)據(jù)節(jié)點就無法通信,整個系統(tǒng)將停止運行。
Facebook估計,如果可以克服這個缺點,就能將其數(shù)據(jù)倉庫的停機時間縮短幾乎一半。
為了解決這個問題,F(xiàn)acebook開發(fā)出了一款名為Avatarnode的軟件:萬一主名稱節(jié)點由于某種原因而失效,該軟件就會切換至備用名稱節(jié)點。在這種架構(gòu)中,每個數(shù)據(jù)節(jié)點會向主名稱節(jié)點和備用名稱節(jié)點定期發(fā)送***數(shù)據(jù)。萬一主名稱節(jié)點停止運行,那么備用名稱節(jié)點就會頂上來,繼續(xù)運行。這款軟件以詹姆斯•卡梅隆執(zhí)導(dǎo)的影片《阿凡達(dá)》命名,它依賴Hadoop Zookeeper配置管理工具。
這家公司將阿凡達(dá)節(jié)點作為一款開源軟件來提供,希望Hadoop管理員們能夠得益于使用該軟件。Facebook早在2010年發(fā)布了該軟件,后來被用于處理該公司的生產(chǎn)任務(wù)。
Ryan寫道:“如今,阿凡達(dá)節(jié)點在運行我們Facebook內(nèi)部要求***的生產(chǎn)工作負(fù)載,它會繼續(xù)大幅提升HDFS集群的可靠性和可管理性。展望未來,我們會努力進(jìn)一步改進(jìn)阿凡達(dá)節(jié)點,并且將它與一種可以自動安全地進(jìn)行故障切換的通用高可用性框架集成起來。”
不止Facebook這一家公司在試圖解決Hadoop存在的這個問題。MapR和Cloudera的Hadoop發(fā)行版同樣都隨帶冗余的名稱節(jié)點功能。
原文:Facebook tackles Hadoop Achilles' Heel