前面我們提到了兩個比較火的Hadoop集群運維管理工具 Ambari和Cloudera Manager。它們集安裝沸版,配置贱除,監(jiān)控于一身尚氛,對于Hadoop的初學(xué)者可以起到很好的幫助作用。這篇文章就對Ambari著重介紹一下讹弯,看一下它相關(guān)的一些架構(gòu)况既,對于后面我們自己開發(fā)基于Apache Hadoop發(fā)行版的自動安裝服務(wù)有幫助。
關(guān)于Ambari的簡介和安裝大家可以看這篇文章:Ambari——大數(shù)據(jù)平臺的搭建利器
Ambari擁有很多的功能组民,它的大部分功能都是基于一些優(yōu)秀的開源項目棒仍,Ambari充分的將它們結(jié)合起來從而實現(xiàn)在分布式環(huán)境中的集群式服務(wù)管理能力,監(jiān)控能力邪乍,展示能力等等降狠。
比如服務(wù)的管理(安裝对竣,卸載,更新等等)是基于puppet榜配。puppet是一個非常成熟和優(yōu)秀的運維工具否纬,而監(jiān)控部分除了JMX相關(guān)的還利用了Nagios和Ganglia等監(jiān)控項目。
Ambari框架是Server/Client模式蛋褥。
其中Ambari Server除了基本的用戶临燃,組,集群信息管理之外烙心,還提供了Rest API膜廊,一部分是接受Ambari Client發(fā)送的心跳請求以及各種數(shù)據(jù)采集信息,一部分是監(jiān)控管理功能淫茵。通過Rest API可以讓我們更加簡潔愉快的操作Ambari爪瓜。
而Ambari Client 負(fù)責(zé)采集節(jié)點相關(guān)信息且發(fā)送心跳給Ambari Server,同時還需要執(zhí)行來自Ambari Server的命令(諸如程序安裝和服務(wù)啟動終止等)
Ambari將所有的服務(wù)都抽象成資源匙瘪,這使得它非常容易擴展铆铆,擴展自定義Service詳細(xì)介紹大家可以看一下:擴展Ambari管理一個自定義的Service ,這個里面自定義Service小結(jié)講的非常詳細(xì)丹喻。這里就不贅述了薄货。
之所以對Ambari的架構(gòu)進行了解是為了幫助我們?nèi)ピO(shè)計我們自己的Hadoop集群安裝服務(wù),那么如果我們需要做一個類似的集群管理服務(wù)碍论,那么我們都需要哪些功能谅猾?該怎樣設(shè)計呢?