用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,把HDP和HDP-UTILS地址替換成我們上方配置的本地源,否則容易發生超時錯誤。
步驟四,輸入安裝選項,資料叢集的機器host name,ssh互信的私鑰和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也一一解決掉,否則安裝可能會不成功
步驟六,選擇需要安裝的服務元件,已經包括了HDFS,Yarn,Hbase,Hive,Spark等等,的確非常方便,不用在一一部署了
步驟七,分配Master伺服器,可以看到能做NameNode和2nd NameNode高可用,Hbase也是
步驟八,選擇Slave節點,Client隨便選一個Slave安裝就可以了。
步驟九,配置檔案,可圖形化配置core-site.xml,hdfs-site.xml等檔案,有時候系統出現標記,如Hive元件,系統會要求你輸入元資料庫的使用者名稱,密碼和地址,輸入完成後,點選下一步
點選下一步後,檢查配置
步驟十,系統根據配置,開始部署
等待安裝完成,因為我們配置了本地源,安裝非常迅速
可能會出現的問題:
Too many levels of symbolic links
安裝HDFS和HBASE的時候出現/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
步驟十一、安裝完成後,系統會自動系統大資料平臺
大功告成。