ambari 離線安裝 HDP-2.3 集羣

  利用 ambari 安裝 hadoop 集羣是很是方便的。前端圖形化,點點就搞定了。可是hadoop的配置仍是要本身來定義的。html


實驗環境:前端

10.111.32.115    hdp115.hfln.com    ambari-serverjava

10.111.32.162    hdp115.hfln.com    ambari-agent
node

10.111.32.163     hdp115.hfln.com    ambari-agentpython

10.111.32.183      hdp115.hfln.com    ambari-agentmysql


32.115 作爲 master 已經實現了與其餘主機的名密鑰登陸了,這裏 32.162 規劃爲 resourcemanager,因此也要實現與其餘主機的名密鑰登陸。sql


  1. 下載離線安裝所需的包文件。docker



# 這個是下載 ambari 的一個倉庫文件,利用這個倉庫文件能夠從公網上下載 ambari-server 等相關包,這裏由於有數據庫

ambari-2.1.0-centos6.tar.gzcentos

這個包,一會作成本身本地源,因此若是你不下,本身寫也是沒問題的。

下面的 hdp.repo 也是如此。可下可不下。其餘三個就是必須下。



[root@hdp115 hdp]# wget http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.1.0/ambari.repo

[root@hdp115 hdp]# wget  http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.3.0.0/hdp.repo

[root@hdp115 hdp]# wget  http://public-repo-1.hortonworks.com/ambari/centos6/ambari-2.1.0-centos6.tar.gz

[root@hdp115 hdp]# wget  http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.3.0.0/HDP-2.3.0.0-centos6-rpm.tar.gz

[root@hdp115 hdp]# wget -c http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos6/HDP-UTILS-1.1.0.20-centos6.tar.gz


這個下載地址能夠嘗試變換一下,好比你想下載 1.7 版的 ambari,就能夠寫成


[root@hdp115 hdp]# wget  http://public-repo-1.hortonworks.com/ambari/centos6/ambari-1.7.0-centos6.tar.gz

有些太老的估計就下不了了。


2. 創建本地倉庫,這裏使用 httpd 來創建,安裝啓動httpd省略。解壓三個包到 /var/www/html 目錄下。

[root@hdp115 hdp]# tar xf ambari-2.1.0-centos6.tar.gz -C /var/www/html/

[root@hdp115 hdp]# tar xf HDP-2.3.0.0-centos6-rpm.tar.gz -C /var/www/html/

[root@hdp115 hdp]# tar xf HDP-UTILS-1.1.0.20-centos6.tar.gz -C /var/www/html/


## 修改 ambari.repo 與 hdp.repo 中的路徑,使之與 yum源機器匹配,如上個人IP 爲10.111.32.115,那麼將

[root@hdp115 hdp]# cat ambari.repo 
#VERSION_NUMBER=2.1.0-1470
[Updates-ambari-2.1.0]
name=ambari-2.1.0 - Updates
baseurl=http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.1.0
gpgcheck=1
gpgkey=http://public-repo-1.hortonworks.com/ambari/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1


##修改後的文件內容。 要注意的是 ambari-2.1.0-centos6.tar.gz 解壓後的名字爲  ambari-2.1.0, 而 ambari.repo 中的路徑沒帶版本號,因此還須要將 ambari-2.1.0 更名爲: ambari

[root@hdp115 hdp]# cat ambari.repo
#VERSION_NUMBER=2.1.0-1470
[Updates-ambari-2.1.0]
name=ambari-2.1.0 - Updates
baseurl=http://10.111.32.115/ambari/centos6/
gpgcheck=1
gpgkey=http://10.111.32.115/ambari/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

3. 安裝設置 ambari-server.

將 ambari.repo 複製到 /etc/yum.repos.d/ 目錄下,安裝 ambari-server。

[root@hdp115 yum.repos.d]# yum install ambari-server

安裝好以後,配置ambari-server, 配置包括

    1. 檢查系統環境

    2. 選擇jdk, 這裏已經本身部署了jdk_1.8.0_73, 選擇他的,下載的巨慢。

    3. 選擇數據庫,若是默認,將使用 postgresql.這裏選擇了本身安裝mysql.


[root@hdp115 yum.repos.d]# ambari-server setup
Using python  /usr/bin/python2.6
Setup ambari-server
Checking SELinux...
SELinux status is 'disabled'
Customize user account for ambari-server daemon [y/n] (n)? y
Enter user account for ambari-server daemon (root):
Adjusting ambari-server permissions and ownership...
Checking firewall status...
Checking JDK...
[1] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8
[2] Oracle JDK 1.7 + Java Cryptography Extension (JCE) Policy Files 7
[3] Custom JDK
==============================================================================
Enter choice (1): 3
WARNING: JDK must be installed on all hosts and JAVA_HOME must be valid on all hosts.
WARNING: JCE Policy files are required for configuring Kerberos security. If you plan to use Kerberos,please make sure JCE Unlimited Strength Jurisdiction Policy Files are valid on all hosts.
Path to JAVA_HOME: /usr/jdk64/jdk1.7.0_67
Validating JDK on Ambari Server...done.
Completing setup...
Configuring database...
Enter advanced database configuration [y/n] (n)? y
Configuring database...
==============================================================================
Choose one of the following options:
[1] - PostgreSQL (Embedded)
[2] - Oracle
[3] - MySQL
[4] - PostgreSQL
[5] - Microsoft SQL Server (Tech Preview)
==============================================================================
Enter choice (1): 3
Hostname (localhost): 
Port (3306): 
Database name (ambari): 
Username (ambari): 
Enter Database Password (bigdata): 
Configuring ambari database...
Copying JDBC drivers to server resources...
Configuring remote database connection properties...
WARNING: Before starting Ambari Server, you must run the following DDL against the database to create the schema: /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
Proceed with configuring remote database connection properties [y/n] (y)? 
Extracting system views...
...ambari-admin-2.1.0.1470.jar
...
Adjusting ambari-server permissions and ownership...
Ambari Server 'setup' completed successfully.


當選擇 mysql 以後,他會提示你,要導入相關的 sql 文件,還會嘗試用 jdbc 去鏈接數據庫,因此要

    1. 把 /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql 導入數據庫

    2. 開通相關權限,按照上面的提示

    3. 安裝 jdbc

設置好以後就能夠啓動 ambari-server 了,啓動方式與通常的服務啓動同樣。

[root@hdp115 ~]# /etc/init.d/ambari-server start


4. 利用 ambari 安裝 HDP 集羣

這個時候你能夠看你的 8080 端口是否在監聽了,嘗試在瀏覽器打開此連接


spacer.gif

登陸ambary, user:admin, pass: admin

spacer.gifwKiom1epVdGDRNgzAAB9SegyWmg559.png-wh_50


點擊 launch install wizard ,開始建立一個集羣

wKiom1epbxzRfDs3AAD67c1IpXU875.png-wh_50


輸入集羣名稱,此處爲 beyond


wKioL1epb3LRLABsAADJdwF_1YE193.png-wh_50


選擇版本號:注意下面的「Advanced Repository Options」 按鈕,上面的選擇會顯示出下面所對應的版本,這裏選擇 HDP 2.3(由於咱們下載的包文件就是2.3的),下面的倉庫選項,選擇相應版本,並修改成本身的本地的倉庫地址,注意要修改正確爲本身定義的路徑,這個修改好的倉庫會被分發到各個節點的 /etc/yum.repos.d/ 目錄下


wKioL1epbx2jGWdHAAFPzsXgTGk335.png-wh_50


這裏添寫要加入集羣的機器的 fqdn ,還有將ambari 的私鑰文件上傳

wKiom1epcDqhJu2VAAEOaWEc1Ww200.png-wh_50


這個步驟會在相關機器上安裝ambar-agent來實現跟ambari-server 通訊。--這裏已經安裝ambar-agent 成功。注:若是安裝失敗,在success 的地方會變成 Failed, 那麼請點開查看錯誤緣由。

通常來講,有如下幾點:

1. ambari-server 主機與 agent 不能使用密鑰文件 登陸,即沒法聯通。請手動檢查是否能夠無密碼在遠程機器上執行命令。

2.yum 安裝時失敗,到/etc/yum.repos.d/ 目錄下檢查,有沒有ambari.repo 倉庫文件。嘗試用 yum clean all 清除過時的緩存,再次嘗試安裝。

 

3.此前安裝過 ambari等相關的功能,沒有清理乾淨,又從新安裝的,那麼檢查一下殘留文件,刪除重試便可。

 

錯誤緣由仍是很詳細的,要視狀況而處理。

wKioL1epcDuTwv5MAAExUNN4LWc422.png-wh_50

上圖底下有個 Click hereto see the warnings.按鈕,打開後會顯示主機上的各類警告信息,

雖然已經安裝了 ambariagent,但是還有其餘可能致使安裝集羣失敗的潛在不足,好比 ntp沒作,或防火牆規則存在,雖然放行了 ssh,可是等安裝hadoop集羣,須要打開不少的tcp 端口,可能會致使錯誤發生。本身視狀況檢查吧(我這個環境由於安裝過HDP,許多提示都是說已經安裝了某包,有某些配置文件已存在等等)


wKiom1epcRnRzANNAAFOXfHShLw553.png-wh_50


有些問題不重要,若是沒解決,這裏會有提示,直接確認便可。

wKioL1epcRrSMQsoAADqoBloAKU733.png-wh_50


這一步,選擇安裝什麼組件,本身看着選吧,我選了最基本的。hdfs + yarn+mapreduce2 + zookeeper + pig + tez +ambari_Metrics

wKiom1epcb2Ds5BMAAFVbqhhYMg890.png-wh_50

調整每一個機器上所安裝的組件

wKioL1epcb7AhKpuAAFC3XBmrsI768.png-wh_50


選擇在哪裏安裝 datanode ,等組件

wKiom1epfAiCx1WcAAEKatqSCEQ498.png-wh_50

調整各服務配置選項,在實際環境中,這就是在打開 xml的配置文件在配置

wKioL1epfEmTS3VlAAEk92GCzaY953.png-wh_50

確認檢查,選擇 deploy 開始安裝


wKioL1epfKDBNO-WAAExLhz6af8493.png-wh_50


成功以後像這樣子,本例中忘了裁下引圖片。

wKiom1epfUfg35o8AAFLnvGLLLY267.png-wh_50




安裝成功。


wKiom1epfNmhX1mTAAEaCyfxnoU343.png-wh_50


終於搞定啦。方法沒錯,只是原來的機器,已經安裝過屢次hadoop, 由於有些東西沒能清理乾淨而致使步驟出錯,只要看日誌細心排查就會OK的,但願 ambari 也能有卸載的功能就行了。


另外在此過程當中還有sql 導入出錯的問題:

1.導入 /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql時,說是某數據類型太大,不支持。個人mysql 版本是 5.1.7的,遂更新至 5.6.30 ,導入成功

 

 

2.啓動ambari-server 時不成功,看了日誌說是jdbc 的版本太低,又更新了

mysql-connector-java-5.1.25.解決成功。

 

在使用 docker 建立hadoop 安裝環境的 centos6.8 容器時,在根下建立了 /hadoop:/hadoop 數據卷。

這個是頗有必要的,在前端進行安裝時,給出了目錄不足的警告,由於 docker 的容器默認只有10G 的大小,容器並非主要用來存儲數據的。因此任何跟數據有關的必定要記得使用數據卷功能。

相關文章
相關標籤/搜索