專訪劉濤:京東Hadoop高可用解決方案解析
原創(chuàng)【51CTO專稿】2013年,Hadoop的技術(shù)創(chuàng)新不斷發(fā)展,整個(gè)生態(tài)系統(tǒng)也變得豐富多彩,大多數(shù)機(jī)構(gòu)部署了自己的IT業(yè)務(wù)系統(tǒng),京東也自主研發(fā)了Hadoop NameNode Cluster方案,51CTO記者很榮幸采訪到其Hadoop工程師劉濤,劉濤對(duì)京東Hadoop高可用解決方案進(jìn)行解析,對(duì)此感興趣的網(wǎng)友們,可以通過此文來了解一下。
(左:劉濤 右:51CTO記者)
【嘉賓簡介】劉濤,京東Hadoop工程師。09年就職于淘寶,從事于分布式系統(tǒng)上的海量數(shù)據(jù)處理與數(shù)據(jù)倉庫建設(shè)。12年加入京東公司,從事hadoop和分布式系統(tǒng)的研究和開發(fā),對(duì)hadoop源碼,hadoop性能優(yōu)化,hadoop的部署及應(yīng)用比較熟悉。
產(chǎn)生背景
隨著集群規(guī)模的擴(kuò)大,首先要解決單點(diǎn)問題,如果只有一個(gè)單點(diǎn)掛掉的時(shí)候,沒有辦法及時(shí)恢復(fù),這種情況下不能響應(yīng)客戶端的請(qǐng)求,會(huì)影響用戶的使用。其次,由于存儲(chǔ)文件的增加,機(jī)器的內(nèi)存會(huì)逐漸的增加,已經(jīng)達(dá)到了內(nèi)存的瓶頸,對(duì)大內(nèi)存的管理也是存在問題。在這樣的背景下,京東便自主研發(fā)了Hadoop NameNode Cluster方案。
構(gòu)建過程
NameNode Cluster的方案在HDFS基礎(chǔ)上進(jìn)行改進(jìn),保留了這樣雙層的結(jié)構(gòu),但是NameNode Cluster不同的地方是相對(duì)于靜態(tài)的劃分,系統(tǒng)需要去做到劃分要做動(dòng)態(tài)的擴(kuò)展,屏蔽掉對(duì)用戶的改動(dòng)。原來的NameNode 關(guān)于權(quán)限、目錄、數(shù)據(jù)、節(jié)點(diǎn)和快的管理集合的功能分別的進(jìn)行了重新的劃分,實(shí)現(xiàn)的過程中是引入了新的數(shù)據(jù)節(jié)點(diǎn)的類型,相對(duì)于原先的引入了新的方案,NameNode存儲(chǔ)的指數(shù)尋找到的其他的進(jìn)程,NameNode的進(jìn)程,存的是URTC地址。
如何實(shí)現(xiàn)目錄式的劃分,第一步是要把分出去的子的目錄節(jié)點(diǎn)下的所有的子數(shù),保存在一個(gè)空間,讓其他的NameNode 進(jìn)行加載,從而使自己本身維護(hù)的數(shù)據(jù)節(jié)點(diǎn)變少。
之后是模式的完善和優(yōu)化上,如果實(shí)現(xiàn)了這樣的系統(tǒng),以后完全可以根據(jù)現(xiàn)在訪問的情況去增加我們的NameNode節(jié)點(diǎn)。
在實(shí)施方案過程中,還是遇到過幾次故障,Active節(jié)點(diǎn)宕掉,Standby節(jié)點(diǎn)便盡快恢復(fù),再結(jié)合客戶端的一些機(jī)制,能夠很快的解決故障,讓用戶感受不到系統(tǒng)掛掉的事。
Hadoop安全
我們處在一個(gè)數(shù)據(jù)爆炸的時(shí)代,越來越多的信息被制造出來,數(shù)據(jù)量大而且種類復(fù)雜。在這個(gè)大數(shù)據(jù)時(shí)代,如何才能保證Hadoop安全?劉濤提到,主要需要注意以下三個(gè)方面:
一、Hadoop本身的結(jié)構(gòu)上要有機(jī)制去保證數(shù)據(jù)不丟失,比如說,做好數(shù)據(jù)備份等方案;
二、要從用戶訪問情況的方面做控制,需要有嚴(yán)格的訪問權(quán)限控制和用戶認(rèn)證;
三、從防火墻的角度去控制訪問的來源,這樣可以保證用戶自己的數(shù)據(jù)部丟失。
更多精彩內(nèi)容,請(qǐng)關(guān)注51CTO專訪視頻。