尤元建 黃增建
【摘要】由于信息爆炸時(shí)代的到來(lái),信息目前呈級(jí)數(shù)級(jí)增長(zhǎng),因此大數(shù)據(jù)在各行業(yè)應(yīng)用變得越來(lái)越普遍。Apache Hadoop作為一個(gè)大數(shù)據(jù)開源項(xiàng)目得到了廣泛的應(yīng)用和部署。典型的一個(gè)Hadoop大數(shù)據(jù)平臺(tái)包括ZooKeeper、HDFS、Yarn、Hbase、Hive和Impala等應(yīng)用。在數(shù)十臺(tái)甚至上百臺(tái)節(jié)點(diǎn)上部署和監(jiān)控大數(shù)據(jù)相關(guān)應(yīng)用是一個(gè)繁瑣的任務(wù)。本文針對(duì)大數(shù)據(jù)平臺(tái)自動(dòng)化部署和圖形化管理進(jìn)行了分析與研究,最終實(shí)現(xiàn)一個(gè)大數(shù)據(jù)平臺(tái)管理系統(tǒng)。
【關(guān)鍵字】Hadoop 大數(shù)據(jù)平臺(tái) 部署 配置 監(jiān)控
引言
隨著時(shí)代的進(jìn)步,我們目前已進(jìn)入信息時(shí)代、云時(shí)代。單個(gè)企業(yè)的信息數(shù)據(jù)已經(jīng)突破TB級(jí),達(dá)到PB(1024TB)級(jí)別。通過(guò)傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)分析這些結(jié)構(gòu)化或者半結(jié)構(gòu)化數(shù)據(jù)需要耗費(fèi)較高的人力、物力和財(cái)力。
為應(yīng)對(duì)這種場(chǎng)景大數(shù)據(jù)技術(shù)應(yīng)運(yùn)而生,大數(shù)據(jù)技術(shù)可以通過(guò)構(gòu)建在廉價(jià)服務(wù)器上的應(yīng)用對(duì)海量數(shù)據(jù)進(jìn)行全面分析,以支持企業(yè)決策。
Apache Hadoop是Google大數(shù)據(jù)技術(shù)一個(gè)開源實(shí)現(xiàn),具有高擴(kuò)展性、高效性、高容錯(cuò)性、低成本以及易于虛擬化等特性,是目前行業(yè)事實(shí)的應(yīng)用標(biāo)準(zhǔn)。Hadoop大數(shù)據(jù)生態(tài)圈核心包括Zookeeper、Hbase、Hive、Impala等應(yīng)用。通過(guò)手工在數(shù)十甚至上百個(gè)節(jié)點(diǎn)上部署這些應(yīng)用是一個(gè)非常復(fù)雜的工作,需要修改操作系統(tǒng)內(nèi)核參數(shù)、網(wǎng)絡(luò)配置以及Haoop本身的參數(shù)。本文通過(guò)研究、構(gòu)建大數(shù)管理系統(tǒng)來(lái)解決這個(gè)問(wèn)題。
一、典型的Hadoop管理平臺(tái)
目前典型Hadoop管理平臺(tái)主要的代表有:Apache開源項(xiàng)目Ambari,國(guó)際頂級(jí)大數(shù)據(jù)公司Cloudera的ClouderaManager以及國(guó)內(nèi)各大數(shù)據(jù)應(yīng)用推出的Hadoop管理平臺(tái)。
Ambari優(yōu)勢(shì)是Apache的頂級(jí)開源項(xiàng)目,易于安裝,簡(jiǎn)單易用。但是缺點(diǎn)同樣明顯,缺少技術(shù)支持和快速的需求響應(yīng),沒(méi)有完備的日志系統(tǒng)和用戶、安全管理系統(tǒng)。
Cloudera Manager由Cloudera公司研發(fā)支持CDH(Clouderas Distribution Including Apache Hadoop)的管理平臺(tái)。Cloudera大數(shù)據(jù)研發(fā)能力和實(shí)施經(jīng)驗(yàn)豐富,CM從功能、易用性等方面都是行業(yè)標(biāo)桿。
國(guó)內(nèi)大數(shù)據(jù)應(yīng)用管理系統(tǒng)能夠快速響應(yīng)需求,同時(shí)能夠緊密結(jié)合用戶應(yīng)用進(jìn)行定制開發(fā)。具有鮮明的特點(diǎn)和優(yōu)勢(shì)。
二、Hadoop管理平臺(tái)研究
考慮到Hadoop部署管理的復(fù)雜性,一般Hadoop管理平臺(tái)需要具有以下幾個(gè)功能:自動(dòng)化部署、配置功能、性能監(jiān)控、告警功能、日志管理和安全管理等。
2.1自動(dòng)化部署
Hadoop的自動(dòng)化部署是首先要解決的問(wèn)題,有了自動(dòng)化部署,Hadoop才有可能在大規(guī)模節(jié)點(diǎn)上部署。目前公開資料顯示國(guó)內(nèi)有達(dá)到4000節(jié)點(diǎn)
規(guī)模的Hadoop應(yīng)用,手工在這種規(guī)模的節(jié)點(diǎn)上進(jìn)行應(yīng)用部署是個(gè)不可能完成的任務(wù)。
考慮到服務(wù)器為優(yōu)化性能,可能不安裝GUI組件。因此自動(dòng)化部署部分需要考慮支持命令行安裝功能。
2.2配置管理
配置部分也是Hadoop必須的功能之一。由于Hadoop各應(yīng)都有配置文件,而且各應(yīng)用之間還存在關(guān)聯(lián)關(guān)系。同時(shí)和組網(wǎng)、主機(jī)IP以及主機(jī)名都相關(guān),整個(gè)配置關(guān)系相當(dāng)復(fù)雜。
其中圖形化配置、自定義配置和配置回滾等功能為配置管理的關(guān)鍵功能。
2.3性能監(jiān)控
性能監(jiān)控部分主要提取Hadoop組件的性能數(shù)據(jù),通過(guò)加工后,按照用戶需求進(jìn)行展示。包括Hadoop應(yīng)用、網(wǎng)絡(luò)及硬件性能。
考慮到管理系統(tǒng)存在和第三方系統(tǒng)對(duì)接的情況,性能監(jiān)控需要提供北向接口??梢允荢NMP或者Ftp形式。
2.4告警功能
通過(guò)告警功能用戶可以及時(shí)發(fā)現(xiàn)系統(tǒng)異常情況,進(jìn)而采取措施,保障系統(tǒng)穩(wěn)定運(yùn)行。告警功能需要及時(shí)、準(zhǔn)確。同時(shí)能夠以SNMP、郵件或者短信形式及時(shí)將告警信息轉(zhuǎn)發(fā)到相關(guān)干系人。
2.5日志/安全管理
日志管理需要提供詳細(xì)的操作、運(yùn)行記錄。以便在出現(xiàn)問(wèn)題和日常維護(hù)中發(fā)現(xiàn)和定位問(wèn)題。良好的日志管理系統(tǒng)可以在運(yùn)維中起到事半功倍的效果。
安全管理部分主要包括用戶、用戶組管理、在線用戶管理等。同時(shí)需要結(jié)合Hadoop應(yīng)用的權(quán)限管理,比如任務(wù)提交、數(shù)據(jù)訪問(wèn)以及資源配額等。
三、Hadoop管理平臺(tái)實(shí)現(xiàn)
Hadoop管理臺(tái)架構(gòu)示意圖如圖1。
考慮到兼容和易用性,管理平臺(tái)客戶端采用B/S(Browset/Serer)結(jié)構(gòu),支持IE、Chrome和Firefox瀏覽器。
最上層為功能組件層,主要是用戶界面,提供各種管理功能。用戶通過(guò)這些功能來(lái)部署、監(jiān)控和管理Hadoop組件。
中間層為抽象的配置、性能和管理功能框架層。功能框架層帶來(lái)的好處是通過(guò)簡(jiǎn)單增加配置文件中的配置項(xiàng)和少許的代碼開發(fā),即可支持新應(yīng)用的安裝,新指標(biāo)的監(jiān)控等功能。
最下層為支撐層,本層和操作系統(tǒng)結(jié)合比較緊密,在不同平臺(tái)下,實(shí)現(xiàn)存在差異。本層提供信息轉(zhuǎn)換,框架部署以及同代理通信等功能。
代理模塊同Hadoop應(yīng)用部署在一起,將Hadoop管理平臺(tái)發(fā)送的信息傳遞給應(yīng)用,同時(shí)將應(yīng)用的信息返回給Hadoop管理平臺(tái)。
四、結(jié)語(yǔ)
通過(guò)Hadoop管理平臺(tái)可以進(jìn)行高效的部署并配置Hadoop集群,并且不存在規(guī)模限制。同時(shí)圖形化管理界面上的多種提示信息和正確性校驗(yàn)輔助手段可以保證配置的正確性和有效性,并能提供集群性能優(yōu)化參數(shù)建議。極大了提高了Hadoop的可用性和性能。
自動(dòng)化巡檢、升級(jí)以及熱點(diǎn)分析等輔助功能需要在后續(xù)繼續(xù)研究實(shí)現(xiàn)。進(jìn)一步提高Hadoop管理平臺(tái)的實(shí)用性。