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