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