如何優(yōu)雅地使用Apache Ambari安裝HDFS荔仁、HBase等分布式應(yīng)用

環(huán)境部署

1.本文發(fā)表時(shí)所用的最新版本:

Ubuntu Server 16.10
APACHE AMBARI 2.5.2.0

  1. 設(shè)置主機(jī)、每個(gè)從機(jī)的內(nèi)網(wǎng)靜態(tài)IP
    安裝的時(shí)候默認(rèn)只會(huì)對(duì)一個(gè)網(wǎng)卡配置自動(dòng)獲取IP宅倒,一般情況我們會(huì)有2個(gè)網(wǎng)卡囤锉,現(xiàn)在要對(duì)另一個(gè)網(wǎng)卡手動(dòng)設(shè)置內(nèi)網(wǎng)IP。首先知道網(wǎng)卡在Linux里的編號(hào)蜗细,用dmesg | grep ens查看ens開(kāi)頭的編號(hào)有哪些裆操,我這有一個(gè)ens160,一個(gè)ens192

    然后再去sudo vi /etc/network/interfaces

    發(fā)現(xiàn)ens160已經(jīng)配置自動(dòng)獲取IP了炉媒,所以另一個(gè)ens192我們配置成靜態(tài)IP踪区,添加四行內(nèi)容設(shè)置靜態(tài)IP和子網(wǎng)掩碼:
auto ens192
iface ens192 inet static
address 10.96.1.70
netmask 255.255.255.0

輸入sudo reboot/etc/init.d/networking restart使其生效

  1. 修改主機(jī)、每個(gè)從機(jī)的hosts文件吊骤,主機(jī)名使用FQDN命名缎岗,使其能夠互相ping通
    這里我的主機(jī)名配置如下,大家不必完全按照這個(gè)名字配置白粉,但要符合FQDN:
master.hd
slave1.hd
slave2.hd
slave3.hd
slave4.hd

以上三步基本不會(huì)有什么坑传泊,也是最基礎(chǔ)最簡(jiǎn)單的茅郎,沒(méi)有什么更優(yōu)雅的方式了。

一般來(lái)說(shuō)Ubuntu安裝時(shí)勾上OpenSSH或渤,安裝完系統(tǒng)后SSH直接可以使用了系冗,不需要再做任何配置,起碼我是不用的薪鹦。

  1. 配置SSH直接允許Root登錄
    因?yàn)榧涵h(huán)境是在內(nèi)網(wǎng)集群掌敬,做好路由隔離后,直接允Root登錄并不會(huì)造成很?chē)?yán)重的安全問(wèn)題池磁,在后面的自動(dòng)安裝需要使用root權(quán)限奔害,否則會(huì)卡住不動(dòng),嚴(yán)謹(jǐn)點(diǎn)也可以自己新建一個(gè)賬號(hào)地熄。
    sudo vi /etc/ssh/sshd_config
    將PermitRootLogin改為yes即可华临,其他配置項(xiàng)一般不需要?jiǎng)印H缓筮M(jìn)行驗(yàn)證 ssh root@slave1.hd 看能不能登錄到從機(jī)端考。

  2. 生成SSH證書(shū)使得主機(jī)到各個(gè)從機(jī)能免密登錄
    這里就有優(yōu)雅的方式了雅潭。在主機(jī)上sudo ssh-keygen 一路回車(chē)生成本機(jī)公私鑰,不要輸入私鑰密碼却特。然后執(zhí)行下列命令

ssh-copy-id root@slave1.hd
ssh-copy-id root@slave2.hd
ssh-copy-id root@slave3.hd
...

依次會(huì)提示輸入每個(gè)從機(jī)的root密碼扶供,然后自動(dòng)將剛才生成的公鑰分發(fā)到各個(gè)從機(jī)上并馬上生效。
所以現(xiàn)在就可以使用 ssh root@slave1.hd直接登錄裂明,不需要再輸入密碼了椿浓。
然后復(fù)制一份剛才生成的私鑰內(nèi)容,等一下用Ambari創(chuàng)建集群時(shí)的需要用到這個(gè)私鑰闽晦。私鑰位于/root/.ssh/id_rsa

比較優(yōu)雅的前奏已經(jīng)準(zhǔn)備完了扳碍,接下來(lái)馬上就要更優(yōu)雅地部署環(huán)境了。

下載HDP離線安裝包

官方文檔是用源碼安裝仙蛉,我們要優(yōu)雅笋敞,所以直接使用已經(jīng)編譯好的。
首先到 https://docs.hortonworks.com/ 找到Ambari捅儒,截止本文發(fā)布的時(shí)候液样,最新版為2.5.2.0,找到它的Apache Ambari Installation巧还,找到HDP離線下載鞭莽,最新版為?HDP 2.6 Repositories

https://docs.hortonworks.com/HDPDocuments/Ambari-2.5.2.0/bk_ambari-installation/content/hdp_stack_repositories.html

隨后下載Ubuntu16 Tarball 版的HDP以及HDP-UTILS 。 前者6G多麸祷,包含HDFS澎怒、HBase、Spark等等各種東西,請(qǐng)做好心理準(zhǔn)備喷面。如果這里不采用離線安裝包的話星瘾,等一下幾臺(tái)從機(jī)都要從網(wǎng)上獲取就毫無(wú)樂(lè)趣了。

安裝Apache Ambari

Ambari只需要在主機(jī)上安裝即可惧辈,隨后會(huì)自動(dòng)部署琳状。
繼續(xù)在剛才的網(wǎng)站上,找到Download the Ambari Repository
按照官方手冊(cè)指引盒齿,以root登錄主機(jī)后執(zhí)行三句命令即可完成安裝源的配置念逞。注意這里的版本是2.5.2.0,請(qǐng)注意是否符合你的版本边翁,如果不是請(qǐng)以網(wǎng)站的代碼為準(zhǔn)翎承。

wget -O /etc/apt/sources.list.d/ambari.list http://public-repo-1.hortonworks.com/ambari/ubuntu16/2.x/updates/2.5.2.0/ambari.list
apt-key adv --recv-keys --keyserver keyserver.ubuntu.com B9733A7A07513CAD
apt-get update

apt-get install ambari-server

最后一句安裝,這個(gè)安裝包大概有七百多MB符匾。

配置Apache Ambari

繼續(xù)按照這個(gè)手冊(cè)的指引叨咖,執(zhí)行命令ambari-server setup配置Ambari,一路回車(chē)采用默認(rèn)配置也可以啊胶。途中會(huì)自動(dòng)下載甲骨文的1.8Jdk甸各。用戶名密碼如果不配置,將會(huì)是admin和admin创淡。

啟動(dòng)Apache Ambari

主機(jī)上運(yùn)行一次ambari-server start稍等片刻即可痴晦。在這里引用一下手冊(cè)內(nèi)容:

Run the following command on the Ambari Server host:
ambari-server start
To check the Ambari Server processes:
ambari-server status
To stop the Ambari Server:
ambari-server stop

現(xiàn)在使用網(wǎng)頁(yè)瀏覽器嘗試訪問(wèn)主機(jī)的8080端口
http://<主機(jī)IP>:8080
如果出現(xiàn)Ambari的登錄界面,即可完成琳彩。賬號(hào)密碼如果剛才沒(méi)有配置,均為admin部凑。

安裝Nginx

其實(shí)也不一定要是Nginx露乏,只是需要其提供的HTTP服務(wù),來(lái)作為HDP離線包的下載服務(wù)器涂邀。
在主機(jī)上使用sudo apt-get install nginx安裝瘟仿。
執(zhí)行完后,默認(rèn)會(huì)自動(dòng)啟動(dòng)比勉。訪問(wèn)http://<主機(jī)IP>:80看能否看到Nginx的歡迎頁(yè)面劳较。

安裝yum

每個(gè)從機(jī)、主機(jī)都需要安裝yum浩聋,否則后面Ambari部署不會(huì)通過(guò)观蜗。詳情見(jiàn)下文的 踩坑記錄1
sudo apt-get install yum

確保Python版本>2.6

Ubuntu16安裝默認(rèn)是符合這個(gè)條件的。所以直接略過(guò)衣洁。

部署HDP離線安裝包

將之前下載到的HDP以及HDP-UTILS 解壓到一個(gè)能容得下它們的大空間墓捻,然后做軟鏈接,鏈接到/var/www/html下坊夫,如果你空間足夠凛辣,也可以直接移動(dòng)到這里廉丽。其子路徑隨意悄窃。
然后將默認(rèn)的歡迎頁(yè)面重命名mv /var/www/html/index.nginx-debian.html /var/www/html/index.nginx-debian.html.bak
進(jìn)入Nginx的配置文件sudo vi /etc/nginx/sites-enabled/default ,在server{...}里添加一句autoindex on;即打開(kāi)目錄瀏覽功能放吩。
隨后再次訪問(wèn)http://<主機(jī)IP>時(shí),能看到目錄結(jié)構(gòu)羽杰,同時(shí)能找到HDP以及HDP-UTILS屎慢,能夠從頁(yè)面上下載,就行了忽洛。

創(chuàng)建第一個(gè)集群

訪問(wèn)http://<主機(jī)IP>:8080腻惠,登錄后,點(diǎn)擊Launch Install Wizard開(kāi)始創(chuàng)建第一個(gè)集群

Ambari首頁(yè)

到了第二步選擇版本后

選擇使用本地庫(kù)欲虚,


HDP和HDP-UTILS的路徑配置應(yīng)為剛才在主機(jī)上用Nginx搭建的Http路徑

HDP路徑下的內(nèi)容
HDP-UTILS路徑下的內(nèi)容

設(shè)置從機(jī)列表以及主機(jī)的root賬號(hào)能登錄每個(gè)從機(jī)的私鑰集灌,即剛才使用ssh-keygen生成的。


如果私鑰和端口設(shè)置正常复哆,hosts文件設(shè)置沒(méi)問(wèn)題欣喧,這里的installing將很快完成


踩坑記錄:

  1. 當(dāng)從機(jī)沒(méi)有安裝yum,此處無(wú)法通過(guò)梯找,使用sudo apt-get install yum安裝唆阿。

==========================
Running OS type check...
==========================
Command start time 2017-09-09 23:34:16
env: ‘/var/lib/ambari-agent/tmp/os_check_type1504971236.py’: No such file or directory
Connection to slave2.hd closed.
SSH command execution finished
host=slave2.hd, exitcode=127
Command end time 2017-09-09 23:34:16
ERROR: Bootstrap of host slave2.hd fails because previous action finished with non-zero exit code (127)
ERROR MESSAGE: Connection to slave2.hd closed.
STDOUT: env: ‘/var/lib/ambari-agent/tmp/os_check_type1504971236.py’: No such file or directory
Connection to slave2.hd closed.

從機(jī)沒(méi)有安裝yum的情況
  1. 全部Success后,會(huì)有一個(gè)附加條件的檢查锈锤。我踩到兩個(gè)坑驯鳖,一個(gè)是沒(méi)安裝NTP服務(wù),這個(gè)很簡(jiǎn)單久免,使用apt-get install ntp即可

  2. 還有一個(gè)常見(jiàn)的Transparent Huge Pages Issues
    這里要求關(guān)閉Transparent Huge Pages浅辙,所有涉及到的主機(jī)從機(jī)都要做這個(gè)。網(wǎng)上通常是做法是在rc.local文件做文章阎姥,但是Ubuntu16版本已經(jīng)不存在這個(gè)文件了记舆。Google了一番,比較優(yōu)雅的做法是:
    參考這位老外David Foerster的解決方案 How do I modify “/sys/kernel/mm/transparent_hugepage/enabled”

install the sysfsutils package:
sudo apt install sysfsutils
and append a line with that setting to/etc/sysfs.conf:
kernel/mm/transparent_hugepage/enabled = never

但是他最初提供的并不全面呼巴,還不能解決問(wèn)題泽腮,我后來(lái)稍微看一下,自己補(bǔ)充了一句就可以完全關(guān)閉了衣赶。在/etc/sysfs.conf里應(yīng)該寫(xiě)如下兩行诊赊。隨后重啟即可。

kernel/mm/transparent_hugepage/enabled = never
kernel/mm/transparent_hugepage/defrag = never                                         

希望大家都有這種美好的結(jié)果


從機(jī)不需要手動(dòng)去安裝Java屑埋。只要ssh連上了豪筝,Ambari的代理會(huì)全都幫你搞定,如果之前的HDP以及HDP-UTILS安裝源路徑設(shè)置沒(méi)問(wèn)題,安裝了Yum续崖,接下來(lái)基本沒(méi)有什么坑了敲街。
如果有,就是我還沒(méi)遇到严望,靠大家自己去解決了

尾聲

祝大家部署順利 O(∩_∩)O~

參考文獻(xiàn)

Ambari——大數(shù)據(jù)平臺(tái)的搭建利器

How do I modify “/sys/kernel/mm/transparent_hugepage/enabled”

使用Ambari快速部署Hadoop大數(shù)據(jù)環(huán)境

Ambari安裝之部署本地庫(kù)(鏡像服務(wù)器)(二)

Apache Ambari Installation

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末多艇,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子像吻,更是在濱河造成了極大的恐慌峻黍,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,997評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件拨匆,死亡現(xiàn)場(chǎng)離奇詭異姆涩,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)惭每,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)骨饿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人台腥,你說(shuō)我怎么就攤上這事宏赘。” “怎么了黎侈?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,359評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵察署,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我峻汉,道長(zhǎng)贴汪,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,309評(píng)論 1 292
  • 正文 為了忘掉前任俱济,我火速辦了婚禮嘶是,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蛛碌。我一直安慰自己,他們只是感情好辖源,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,346評(píng)論 6 390
  • 文/花漫 我一把揭開(kāi)白布蔚携。 她就那樣靜靜地躺著,像睡著了一般克饶。 火紅的嫁衣襯著肌膚如雪酝蜒。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,258評(píng)論 1 300
  • 那天矾湃,我揣著相機(jī)與錄音亡脑,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛霉咨,可吹牛的內(nèi)容都是我干的蛙紫。 我是一名探鬼主播,決...
    沈念sama閱讀 40,122評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼途戒,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼坑傅!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起喷斋,我...
    開(kāi)封第一講書(shū)人閱讀 38,970評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤唁毒,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后星爪,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體浆西,經(jīng)...
    沈念sama閱讀 45,403評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,596評(píng)論 3 334
  • 正文 我和宋清朗相戀三年顽腾,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了近零。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,769評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡崔泵,死狀恐怖秒赤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情憎瘸,我是刑警寧澤入篮,帶...
    沈念sama閱讀 35,464評(píng)論 5 344
  • 正文 年R本政府宣布,位于F島的核電站幌甘,受9級(jí)特大地震影響潮售,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜锅风,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,075評(píng)論 3 327
  • 文/蒙蒙 一酥诽、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧皱埠,春花似錦肮帐、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,705評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至忘巧,卻和暖如春恒界,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背砚嘴。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,848評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工十酣, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留涩拙,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,831評(píng)論 2 370
  • 正文 我出身青樓耸采,卻偏偏與公主長(zhǎng)得像兴泥,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子洋幻,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,678評(píng)論 2 354

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