1. 程式人生 > >用Ambari一鍵部署大資料平臺

用Ambari一鍵部署大資料平臺

安裝前準備

先明確幾個概念:
1. Ambari只能安裝Hortonworks Data Platform,即Hortonworks的開源Hadoop,不支援Apach的Hadoop平臺;
2. 對於已經安裝了Apach Hadoop或者其他Hadoop平臺的,不能使用Ambari來管理;

再說幾個注意事項:
1. Ambari預設的安裝方式是使用yum,從遠端下載HDP元件安裝,而HDP平臺安裝包都非常大(本例中使用的HDP-2.4.0安裝包為6G),Ambari平臺有又30分鐘的Timeout限制,如果在30分鐘內下載不完HDP,就會造成安裝失敗。建議修改下載原始檔,配置為本地源;
2. Ambari安裝過程為自動安裝,自動安裝指令碼會建立很多使用者和其他元件(如系統自帶的Java和資料庫),建議使用一套乾淨的環境來安裝。
3. 如第2點所示,指令碼會自動建立使用者和安裝元件,建議使用root使用者;
	4. 系統請關閉Selinux、防火牆和THP;
	5. 叢集機器請事先配置ssh互信;還是建議使用root使用者來互信;

安裝

作業系統:CentOS 6.5

叢集機器情況:

機器名

IP

功能

備註

Master

192.168.101.41

NameNode and JobTracker

以下可能簡稱為主機

Master2

192.168.101.42

Second Namenode

以下可能簡稱為節點

Slave1

192.168.101.43

DataNode and TaskTracker

以下可能簡稱為節點

Slave2

192.168.101.44

DataNode and TaskTracker

以下可能簡稱為節點

配置本地源

上文提到,為了加快安裝速度和防止超時錯誤,建議為HDP配置本地源,請在事先在網上下載HDP、HDP-UTILS和Ambari,本例中幾個元件版本為HDP-2.4.0,HDP-UTILS-1.1.0.20和Ambari-2.2.1.0。我們把master伺服器做為源伺服器。以下操作在master機器執行。


yum install httpd
yum install yum-utils
yum repolist

yum install createrepo

安裝http服務

1. 直接使用命令:yum install httpd;安裝完成後,會生成 /var/www/html 目錄。

2. 在/var/www/html目錄下,分別建立ambari和hdp目錄
cd /var/www/html
mkdir ambari
mkdir hdp

3. 啟動httpd服務
Service httpd start

4. 設定httpd服務開機自動啟動
Chkconfig httpd on

下載、配置Ambari本地源ambari.repo

1. 把下載的Ambari tar包解壓後拷貝到剛才建立的/var/www/html/ambary/目錄中,在瀏覽器中輸入地址,就可以看到ambari目錄結構

http://master:8889/ambari/AMBARI-2.2.1.0/centos6/2.2.1.0-161/

域名後8889為httpd服務配置的埠

這個地址,就是本地源的地址

2. 使用wget命令:

命令完成後,wget命令會預設下載到本目錄,把下載後的ambari.repo檔案拷貝到/etc/ yum.repos.d目錄下。

修改ambari.repo檔案

[Updates-ambari-2.0.1]

name=ambari-2.2.1 - Updates

baseurl=http://master:8889/ambari/AMBARI-2.2.1.0/centos6/2.2.1.0-161/

gpgcheck=0

enabled=1

priority=1

紅色字型為修改部分,把baseurl換成本地的url。

配置HDP本地源

把下載的HDP-2.4.0.0-centos6-rpm.tar.gz包拷貝到/var/www/html/hdp/目錄下,用瀏覽器輸入網址http://master:8889/hdp/HDP-2.4.0/centos6/2.x/updates/2.4.0.0/,檢視HDP目錄結構

在/etc/yum.repo.d目錄中,修改HDP.repo檔案
[HDP-2.4]
name=HDP-2.4
baseurl=http://master:8889/hdp/HDP-2.4.0/centos6/2.x/updates/2.4.0.0/
path=/
enabled=1
gpgcheck=0

紅色字型為修改部分,把baseurl換成本地的url。

配置HDP-UTILS

同樣,把下載的HDP-UTILS-1.1.0.20-centos6.tar.gz包拷貝到/var/www/html/hdp/目錄下,用瀏覽器輸入網址http://master:8889/hdp/HDP-UTILS-1.1.0.20/repos/centos6/,檢視HDP-UTILS目錄結構

在/etc/yum.repo.d目錄中,修改HDP.repo檔案
[HDP-UTILS-1.1.0.20]
name=HDP-UTILS-1.1.0.20
baseurl=http://master:8889/hdp/HDP-UTILS-1.1.0.20/repos/centos6/
path=/
enabled=1
gpgcheck=0
紅色字型為修改部分,把baseurl換成本地的url。

生成本地源


使用createrepo命令,生成本地源
createrepo /var/www/html/hdp/HDP-2.4.0/centos6/2.x/updates/2.4.0.0
createrepo /var/www/html/hdp/HDP-UTILS-1.1.0.20/repos/centos6
createrepo /var/www/html/ambari/AMBARI-2.2.1.0/centos6/2.2.1.0-161

關閉Selinux和THP

關閉Selinux

注意,在叢集的每個節點,都要關閉Selinux

使用sestatus -v命令,檢視Selinux狀態。

如果不是disable狀態,編輯/etc/sysconfig/selinux檔案

vi/etc/sysconfig/selinux

把裡邊的一行改為

SELINUX=disabled

儲存,然後重啟機器。

關閉THP

在叢集的每個節點,都要關閉。編輯/etc/grub.conf檔案,在kernel 行後面加入

transparent_hugepage=never,儲存退出,重啟機器。

Ambari安裝

使用命令檢視案例列表:

yum clean all

yum list|grep ambary

直接使用命令yum install ambari-server安裝即可,由於配置了本地源,安裝過程非常快,可比網路資源節省一半以上的時間。

安裝完成後,使用命令,amari-server setup 設定Ambari,基本都可以一路回車使用預設設定。為了演示完整的安裝過程,本例中做了一些特殊設定。請同學們根據環境的實際情況自行選擇配置。

1.設定JDK

2.設定資料庫,Ambari預設使用的是PostgreSQL,也可指定其他資料庫

為了達到演示效果,本例就不使用其他資料庫了,簡單改變PostgreSQL中的幾項設定即可。

Ambari預設使用的是8080埠,如果埠被佔用,可修改配置檔案/etc/ambari-server/conf/ambari.properties,在檔案中增加 client.api.port=<port_number>

配置完成後,使用命令ambari-server start 啟動Ambari

啟動成功後,在瀏覽器輸入網址http://master:8080 ,看到如下介面,就說明安裝成功了。

Ambari預設使用者名稱/密碼是:admin/admin

部署大資料平臺

圖文並茂

步驟一,點選執行安裝嚮導

步驟二,輸入你的叢集名稱

步驟三,選擇HDP版本

注意: HDP資源預設是從網路下載,請點選下方的Advance Repository Options,把HDPHDP-UTILS地址替換成我們上方配置的本地源,否則容易發生超時錯誤。

步驟四,輸入安裝選項,資料叢集的機器host namessh互信的私鑰和ssh使用者;

請注意:在ssh user accout的地方,為了安裝成功,我使用的是root使用者

由於我的機器不在域中,系統會提示不是一個完整的FQDN(完整的FQDN類似於master.example.com這種格式),不用管他,直接點OK按鈕。

步驟五,選擇完機器後,Ambari會自動在其他的機器上安裝ambari-agent代理

可能會出現的問題:

ambari-agent註冊失敗,日誌顯示埠被佔用,網上查詢結果是Agent使用的8670

手工連線到失敗的伺服器上,netstat -anp|grep8670,發現果然在監聽狀態,然後輸入命令kill -9 [程序id],再Retry便可成功

安裝成功後,介面如下:

請注意:畫面下方的potential problems,這裡系統在堅持潛在的問題,完成後,會有顯示當前問題列表,檢查完成後,系統會給出問題解決方法,請把列出的警告的problems也一一解決掉,否則安裝可能會不成功

步驟六,選擇需要安裝的服務元件,已經包括了HDFSYarnHbaseHiveSpark等等,的確非常方便,不用在一一部署了

步驟七,分配Master伺服器,可以看到能做NameNode2nd NameNode高可用,Hbase也是

步驟八,選擇Slave節點,Client隨便選一個Slave安裝就可以了。

步驟九,配置檔案,可圖形化配置core-site.xmlhdfs-site.xml等檔案,有時候系統出現標記,如Hive元件,系統會要求你輸入元資料庫的使用者名稱,密碼和地址,輸入完成後,點選下一步

點選下一步後,檢查配置

步驟十,系統根據配置,開始部署

等待安裝完成,因為我們配置了本地源,安裝非常迅速

可能會出現的問題:

Too many levels of symbolic links

安裝HDFSHBASE的時候出現/usr/hdp/current/hadoop-client/conf  doesn't exist

是由於/etc/hadoop/conf/usr/hdp/current/hadoop-client/conf目錄互相連結,造成死迴圈,所以要改變一個的連結

需要在失敗的節點運營命令:

cd /etc/hadoop

rm -rf conf

ln -s/etc/hadoop/conf.backup /etc/hadoop/conf

HBASE也會遇到同樣的問題,解決方式同上

cd /etc/hbase

rm -rf conf

ln -s/etc/hbase/conf.backup /etc/hbase/conf

ZooKeeper也會遇到同樣的問題,解決方式同上

cd /etc/zookeeper

rm -rf conf

ln -s/etc/zookeeper/conf.backup /etc/zookeeper/conf


步驟十一、安裝完成後,系統會自動系統大資料平臺

大功告成。