Ambari安裝及自定義service初步實(shí)現(xiàn)

Ambari安裝

1 Ambari簡(jiǎn)介

Apache Ambari項(xiàng)目的目的是通過(guò)開(kāi)發(fā)軟件來(lái)配置询刹、監(jiān)控和管理hadoop集群,以使hadoop的管理更加簡(jiǎn)單沦泌。同時(shí),ambari也提供了一個(gè)基于它自身RESTful接口實(shí)現(xiàn)的直觀烙常、簡(jiǎn)單易用的web管理界面荆永。

Ambari允許系統(tǒng)管理員進(jìn)行以下操作:

1.提供安裝管理hadoop集群;

2.監(jiān)控一個(gè)hadoop集群;

3.擴(kuò)展ambari管理自定義服務(wù)功能.

2 集群所需基礎(chǔ)條件

2.1 操作系統(tǒng)的需求

?Red Hat Enterprise Linux (RHEL) 版本5.x 或者 6.x (64位) 朝捆;

?CentOS版本5.x般渡、6.x (64位) 或7.x;

?Oracle Linux版本5.x 或者6.x (64位) 芙盘;

本文檔選擇的是CentOS版本 6.5 (64位) 驯用;

2.2 系統(tǒng)基礎(chǔ)軟件的需求

在每一臺(tái)主機(jī)上都要安裝以下軟件:

(1) yum和rpm (RHEL/CentOS/Oracle Linux);

(2)zypper(SLES)儒老;

(3)scp蝴乔,curl,wget驮樊;

2.3 JDK的需求

Oracle JDK 1.7.0_79 64-bit (默認(rèn))

OpenJDK 7 64-bit (SLES不支持)

3 安裝各項(xiàng)軟件前的先決條件

3.1 ambari和監(jiān)控軟件所需條件

安裝ambari之前薇正,為了保證ambari各項(xiàng)服務(wù)和各項(xiàng)監(jiān)控服務(wù)的正常運(yùn)行片酝,根據(jù)操作系統(tǒng)的不同,需要確定一些已經(jīng)安裝的軟件的版本挖腰,以下列出的軟件版本必須符合要求钠怯。即:如果現(xiàn)有的系統(tǒng)上有以下軟件,版本必須與下面列出的版本完全一致曙聂,如果沒(méi)有的話(huà)安裝程序會(huì)自行安裝。

圖表3-1軟件先決配置表

3.2 Ambari與HDP版本兼容性

由于軟件版本的升級(jí)鞠鲜,各版本之間由于版本之間的兼容性可能會(huì)導(dǎo)致一些問(wèn)題宁脊。

表格 3-2 版本兼容性

4 安裝實(shí)例說(shuō)明

本文所選擇的系統(tǒng)與軟件版本,如下表所示:

表格 4-1系統(tǒng)與軟件版本

4.1 安裝Ambari前的操作系統(tǒng)準(zhǔn)備

4.1.1 配置主機(jī)名

Ambari配置集群信息的時(shí)候是通過(guò)全限定主機(jī)名來(lái)確定集群中的機(jī)器信息的贤姆,所以必須確保主機(jī)名無(wú)誤榆苞。

4.1.2 配置集群信息

在每一臺(tái)機(jī)器的hosts文件上都要做映射配置,命令如下:

# vi /etc/hosts

然后添加如下內(nèi)容:

表格 4-2 ip映射信息表

4.1.3 配置ssh免密碼互通

首先霞捡,在主節(jié)點(diǎn)和其他節(jié)點(diǎn)上都執(zhí)行以下命令坐漏,以確保每臺(tái)機(jī)器都可產(chǎn)生公鑰。

然后一路回車(chē)即可.然后將每個(gè)節(jié)點(diǎn)的公鑰組成一個(gè)新的authorized_keys文件,然后將其分發(fā)到每個(gè)節(jié)點(diǎn)中.從而碧信,完成了各個(gè)節(jié)點(diǎn)的免密登錄操作.

4.1.4 配置NTP時(shí)間同步

首先在主節(jié)點(diǎn)上做如下操作:

(1) 安裝時(shí)間服務(wù)器ntp:

#yum install ntp

(2) 修改ntpd配置文件

(3) 開(kāi)啟時(shí)間同步服務(wù)器

#sevrice ntpd start

(4) 在其他各個(gè)從節(jié)點(diǎn)做相同操作,至此ntp同步完成

4.1.5關(guān)閉selinux

永久關(guān)閉SELinux

# vi /etc/selinux/config

將SELINUX=enforcing改為SELINUX=disabled

重啟生效赊琳,重啟命令為:

# reboot

4.1.6關(guān)閉iptables防火墻

永久關(guān)閉(需要重啟)

# chkconfig iptables off

暫時(shí)關(guān)閉防火墻服務(wù)(需要重啟防火墻)

service iptables stop

查看防火墻狀態(tài)

# chkconfig –list|grep iptables

提示:Linux下的其它服務(wù)都可以用以上命令執(zhí)行開(kāi)啟和關(guān)閉操作

重啟生效,重啟命令為:

# reboot

4.2 創(chuàng)建yum本地源

首先檢驗(yàn)主節(jié)點(diǎn)是否安裝httpd服務(wù)器砰碴,命令如下:

rpm -qa |grep httd

若沒(méi)有躏筏,則安裝,命令如下:

#yum install httpd

啟動(dòng)httpd

#service httpd start

chkconfig httpd on

對(duì)文件夾與子文件夾內(nèi)所有文件授予同一權(quán)限呈枉,命令如下:

chmod –R ugo+rX /var/www/html

打開(kāi)網(wǎng)絡(luò)

vim /etc/sysconfig/network-script/ifcfg-eth0

修改為onboot=yes

安裝成功之后趁尼,Apache工作目錄默認(rèn)在/var/www/html。

配置:

檢查端口是否占用猖辫,Apache http服務(wù)使用80端口

[root@master ~]$ netstat -nltp | grep 80

如果有占用情況酥泞,安裝完畢之后需要修改Apache http服務(wù)的端口號(hào):

[root@ master ~]$ vi /etc/httpd/conf/httpd.conf

修改監(jiān)聽(tīng)端口,Listen 80為其他端口啃憎。

將所下載的安裝文件放在/etc/www/html下芝囤,然后啟動(dòng)

[root@ master ~]$ service httpd start

可以在瀏覽器中查看http://master 看到Apache server的一些頁(yè)面信息,表示啟動(dòng)成功辛萍。

5 完全離線安裝Ambari前的準(zhǔn)備

離線安裝跟在線安裝的區(qū)別在于yum所使用的倉(cāng)庫(kù)的位置不同凡人,即把遠(yuǎn)程的倉(cāng)庫(kù)中的安裝包等資源拷貝一份兒放在本地,然后在yum倉(cāng)庫(kù)包文件夾中創(chuàng)建這些資源的本地倉(cāng)庫(kù)包叹阔,即可按照在線安裝的方式進(jìn)行安裝就行了挠轴。不過(guò)離線安裝需要先解決Ambari的rpm包的依賴(lài)性問(wèn)題,即首先要確保已經(jīng)安裝了postgresql8.4.3耳幢,或者有本地postgresql8.4.3倉(cāng)庫(kù)岸晦。

5.1 先決條件

Ambari的離線安裝欧啤,需要使用yum,如果是新安裝的操作系統(tǒng)启上,可能缺少很多必要的條件邢隧,以下表格按照從前往后的順序,依次說(shuō)明冈在,如果已經(jīng)實(shí)現(xiàn)了某些條件倒慧,跳過(guò)那些條件即可。

因操作系統(tǒng)中本身自帶軟件的復(fù)雜性包券,如在安裝中提示有其他所需軟件或提示現(xiàn)有軟件升級(jí)纫谅,按照提示解決即可.

5.2 建立本地資源庫(kù)

在集群內(nèi)部某臺(tái)機(jī)器上安裝http服務(wù)即可,然后將提供的tar包或者rpm包放置到那臺(tái)機(jī)器上的/var/www/html目錄(Apache默認(rèn)目錄)下解壓即可溅固,最好在這個(gè)目錄下新建一個(gè)目錄付秕,將所有的ambari的tar包和HDP及HDPUTIL的tar包都放置進(jìn)去并解壓,如果機(jī)器沒(méi)有手動(dòng)安裝PostgreSQL侍郭,將提供的上述軟件的軟件包一并放入到本地資源庫(kù)中即可询吴。

5.3 設(shè)置yum不檢查gpg密鑰

經(jīng)檢測(cè)離線安裝Hadoop集群時(shí)會(huì)因?yàn)閥um檢查要安裝的軟件的gpg密鑰而導(dǎo)致錯(cuò)誤,此時(shí)可通過(guò)關(guān)閉系統(tǒng)的yum gpg檢查來(lái)規(guī)避錯(cuò)誤

# vi /etc/yum.conf

設(shè)置gpgcheck屬性值為0即可

gpgcheck=0

5.4 安裝ambari服務(wù)

# yum –install ambari-server

5.5 ambari設(shè)置

# ambari-server setup

運(yùn)行過(guò)后則會(huì)出現(xiàn)是否進(jìn)入ambari-server守護(hù)進(jìn)程,選擇jdk,配置數(shù)據(jù)庫(kù)等信息,可根據(jù)系統(tǒng)自身需要進(jìn)行選擇.

當(dāng)出現(xiàn)“Ambari Server ‘setup’ completed successfully”亮元,則說(shuō)明Ambari-server配置成功猛计。需要說(shuō)明的是,此次安裝選擇的數(shù)據(jù)庫(kù)是PostgreSQL數(shù)據(jù)庫(kù)爆捞,其中用戶(hù)有滑、數(shù)據(jù)庫(kù)等都是提前默認(rèn)好的;若選擇MySQL數(shù)據(jù)庫(kù)嵌削,則需要在安裝Ambari-server之前建好用戶(hù)毛好、賦予權(quán)限、建好數(shù)據(jù)庫(kù)等等操作苛秕。

然后啟動(dòng)ambari-server,最后根據(jù)需要安裝hadoop生態(tài)中的各項(xiàng)服務(wù).

自定義service服務(wù)

1 ambari自定義擴(kuò)展service

從第一部分可知,ambari具有進(jìn)行二次開(kāi)發(fā)的功能,主要工作就是將自研的組件等集成到ambari中,并對(duì)其進(jìn)行管理監(jiān)控.本文主要以集成redis為例進(jìn)行講述.

首先,由于service都是隸屬于stack的,所以要決定自定義一個(gè)service屬于哪個(gè)stack.,又因?yàn)橐呀?jīng)安裝了HDP2.5.0具有stack,所以,本文將自定的service放置在HDP2.5.0的stack下.新建service名為:redis-service,其中包含結(jié)構(gòu)圖如下圖所示:

其中configurate中的xml文件主要安裝完成配置該模塊的調(diào)用,package中主要問(wèn)控制service生命周期的python文件,metainfo.xml文件則主要問(wèn)定義service的一些屬性,metrics.json與widgets.json控制著service的界面圖表顯示.

其中metainfo.xml實(shí)例如下:


其次,需要?jiǎng)?chuàng)建 Service 的生命周期控制腳本master.py 和 slave.py肌访。這里需要保證腳本路徑和上一步中 metainfo.xml 中的配置路徑是一致的。這兩個(gè) Python 腳本是用來(lái)控制 Master 和 Slave 模塊的生命周期艇劫。腳本中函數(shù)的含義也如其名字一樣:install 就是安裝調(diào)用的接口吼驶;start、stop 分別就是啟停的調(diào)用店煞;Status 是定期檢查 component 狀態(tài)的調(diào)用蟹演。其中master.py與slave.py的模板為:

Master.py


Slave.py


再次,將redis的rpm安裝文件放入到HDP安裝包的/var/www/html/ambari/HDP/centos6/目錄下.

再次,重啟ambari-server, 因?yàn)?Ambari Server 只有在重啟的時(shí)候才會(huì)讀取 Service 和 Stack 的配置。命令行執(zhí)行:ambari-server restart.

最后顷蟀,登錄 Ambari 的 GUI酒请,點(diǎn)擊左下角的 Action,選擇 Add Service鸣个。如下圖:


此時(shí)就可以在安裝service列表中看到Redis服務(wù)了.然后檢驗(yàn)該服務(wù)是否安裝成功.

2 ambari實(shí)現(xiàn)自定義擴(kuò)展service界面顯示

在第二章的第一節(jié)中service自定義中提及metircs.json與widget.json時(shí), 其中Widget 也就是 Ambari Web 中呈現(xiàn) Metrics 的圖控件羞反,它會(huì)根據(jù) Metrics 的數(shù)值布朦,做出一個(gè)簡(jiǎn)單的聚合運(yùn)算,最終呈現(xiàn)在圖控件中昼窗。Widget 則進(jìn)一步提升了 Ambari 的易用性是趴,以及可配置化。Widget 是顯示 AMS 收集的 Metrics 屬性.

此處緊接著上節(jié),其中metrics.json模板為:


widget.json為:


至此,重啟ambari-service,命令如下:


3 數(shù)據(jù)采集及發(fā)送

利用shell腳本將redis運(yùn)行信息數(shù)據(jù)采集并一次性發(fā)送到metrics collector中,腳本如下所示:



運(yùn)行如下命令(這里要注意的是參數(shù) 1 是 Metrics Collector 的所在機(jī)器澄惊,并不是 Ambari Server所在的機(jī)器):

./metric_sender.sh ambari_collector_host total_connections_received redis

如果過(guò)程不出意外,等待2-4分鐘界面上即有數(shù)據(jù)顯示.通過(guò)上面的操作唆途,可以實(shí)現(xiàn)將ambari沒(méi)有納入到監(jiān)控管理的軟件進(jìn)行管理監(jiān)控。

本文原創(chuàng)首發(fā)于Cobub官網(wǎng)博客掸驱,如需轉(zhuǎn)載請(qǐng)注明出處肛搬!

Cobub Razor是一款開(kāi)源 移動(dòng)應(yīng)用數(shù)據(jù)統(tǒng)計(jì)分析 工具。

Cobub開(kāi)源社區(qū)QQ194022996

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末亭敢,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子图筹,更是在濱河造成了極大的恐慌帅刀,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,248評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件远剩,死亡現(xiàn)場(chǎng)離奇詭異扣溺,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)瓜晤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門(mén)锥余,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人痢掠,你說(shuō)我怎么就攤上這事驱犹。” “怎么了足画?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,443評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵雄驹,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我淹辞,道長(zhǎng)医舆,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,475評(píng)論 1 279
  • 正文 為了忘掉前任象缀,我火速辦了婚禮蔬将,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘央星。我一直安慰自己霞怀,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布莉给。 她就那樣靜靜地躺著里烦,像睡著了一般凿蒜。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上胁黑,一...
    開(kāi)封第一講書(shū)人閱讀 49,185評(píng)論 1 284
  • 那天废封,我揣著相機(jī)與錄音,去河邊找鬼丧蘸。 笑死漂洋,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的力喷。 我是一名探鬼主播刽漂,決...
    沈念sama閱讀 38,451評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼弟孟!你這毒婦竟也來(lái)了贝咙?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,112評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤拂募,失蹤者是張志新(化名)和其女友劉穎庭猩,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體陈症,經(jīng)...
    沈念sama閱讀 43,609評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蔼水,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了录肯。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片趴腋。...
    茶點(diǎn)故事閱讀 38,163評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖论咏,靈堂內(nèi)的尸體忽然破棺而出优炬,到底是詐尸還是另有隱情,我是刑警寧澤厅贪,帶...
    沈念sama閱讀 33,803評(píng)論 4 323
  • 正文 年R本政府宣布穿剖,位于F島的核電站,受9級(jí)特大地震影響卦溢,放射性物質(zhì)發(fā)生泄漏糊余。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評(píng)論 3 307
  • 文/蒙蒙 一单寂、第九天 我趴在偏房一處隱蔽的房頂上張望贬芥。 院中可真熱鬧,春花似錦宣决、人聲如沸蘸劈。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,357評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)威沫。三九已至贤惯,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間棒掠,已是汗流浹背孵构。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,590評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留烟很,地道東北人颈墅。 一個(gè)月前我還...
    沈念sama閱讀 45,636評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像雾袱,于是被迫代替她去往敵國(guó)和親恤筛。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容