前言
本文是講如何在centos7(64位) 安裝ambari+hdp,如果在裝有原生hadoop等集群的機器上安裝,需要先將集群服務停掉,然后將不需要的環境變量注釋掉即可,如果不注釋掉,后面雖然可以安裝成功,但是在啟動某些服務的時候可能會有異常,比如最后提到的hive啟動異常。本文適合系統: RedHat7、CentOS7、Oracle Linux7(都是64位)
注意:centos7中文系統有bug(python腳本中文識別問題),需要使用英文系統。
本文僅作參考(基本每個配置博客都有局限性和坑~),推薦先參考官方文檔:
https://docs.hortonworks.com/HDPDocuments/Ambari-2.6.1.5/bk_ambari-installation/content/ch_Getting_Ready.html
以下均在root用戶下執行。
1、滿足最低系統要求
1.1 瀏覽器
建議您將瀏覽器(自己使用的windows既可)更新至最新的穩定版本
1.2 軟件要求(在每台主機上)
1 |
1.2.1 yum和rpm |
以上軟件大部分系統自帶,其余可參考:CentOS 初始環境配置
2、環境准備(在每台主機上)
2.1 ssh 免密
只需master 免密到其他節點(包含自身),不需要互通,參考:linux ssh 免密登錄
2.2 啟用NTP
1 |
yum install -y ntp |
2.3 編輯主機文件
1 |
vim /etc/hosts |
本文只是在個人虛擬機上進行安裝測試,所以只選擇兩個節點,在公司真實環境下多個節點安裝是一樣的,ambari對內存要求較高,如果個人電腦配置不高的話,建議學習一下即可。
1 |
192.168.44.138 ambari.master.com |
其中后面的如ambari.master.com為完全限定域名(FQDN)(通過符號“.”),不能簡單的設為master等,如果該文件里有其他映射,如上面的配置必須要在最前面(自帶的localhost下面一行),否則后面安裝會報錯。
2.4 設置主機名
以ambari.master.com為例
2.4.1
1 |
hostname ambari.master.com |
2.4.2
1 |
vim /etc/hostname |
1 |
ambari.master.com |
兩步缺一不可,通過命令驗證
1 |
hostname |
兩個必須都為ambari.master.com才行
2.5 編輯網絡配置文件
1 |
vim /etc/sysconfig/network |
修改HOSTNAME屬性為FQDN
1 |
NETWORKING=yes |
2.6 禁用iptables
1 |
systemctl disable firewalld |
2.7 禁用SELinux
2.7.1 臨時禁用
1 |
setenforce 0 |
2.7.2 永久禁用(重啟機器)
1 |
vim /etc/sysconfig/selinux |
將SELINUX改為disabled
1 |
SELINUX=disabled |
這樣服務器或虛擬機重啟也沒有問題。
3、制作本地源(僅在master)
因為ambari 和 hdp 安裝文件比較大,如果在線安裝的話會很慢,所以最好選擇本地源。
(可以在集群可以訪問的任何機器上制作本地源)
3.1 安裝制作本地源工具
1 |
yum install yum-utils createrepo |
3.2 創建一個HTTP服務器
1 |
yum install httpd -y |
3.3 為Web服務器創建目錄
1 |
mkdir -p /var/www/html/hdp/HDP-UTILS |
3.4 下載系統對應的最新版相關安裝包
其中包括Ambari、HDP、HDP-UTILS,由於HDP-GPL較小只有幾百k,所以沒有配置為本地源。
3.4.1 下載
1 |
wget http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.1.5/ambari-2.6.1.5-centos7.tar.gz |
3.4.2 解壓
1 |
tar -zxvf ambari-2.6.1.5-centos7.tar.gz -C /var/www/html |
3.4.3 解決在瀏覽器訪問HTTP://AMBARI.MASTER.COM/HDP/HDP/CENTOS7/2.6.4.0-91 為空白
原因:該目錄下index.xml使用了 https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js 國內訪問不了谷歌,將index.xml注釋掉即可
1 |
cd /var/www/html/hdp/HDP/centos7/2.6.4.0-91 |
此時應該可以在瀏覽器訪問下面的地址了,可以驗證一下
1 |
http://ambari.master.com/ambari/centos7/2.6.1.5-3/ |
3.5 配置ambari、HDP、HDP-UTILS的本地源
1 |
cp /var/www/html/ambari/centos7/2.6.1.5-3/ambari.repo /etc/yum.repos.d/ |
將每個repo里的baseurl和gpgkey的地址修改為本地的
1 |
vim /etc/yum.repos.d/ambari.repo |
1 |
#VERSION_NUMBER=2.6.1.5-3 |
1 |
vim /etc/yum.repos.d/hdp.repo |
1 |
#VERSION_NUMBER=2.6.4.0-91 |
1 |
yum clean all |
3.6 (可選)如果您的環境中配置了多個存儲庫,請在集群中的所有節點上部署以下插件
1 |
yum install yum-plugin-priorities -y |
1 |
[main] |
4、安裝ambari(僅在master)
4.1安裝ambari-server
1 |
yum install ambari-server -y |
4.2 設置mysql連接器
1 |
ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar |
(如果使用mysql作為hive的元數據庫)
4.3 創建相關的mysql數據庫
創建ambari數據庫及用戶,登錄root用戶執行下面語句:
1 |
mysql -uroot -pRoot-123 |
1 |
create database ambari character set utf8 ; |
如果要安裝Hive,再創建Hive數據庫和用戶,再執行下面的語句:
1 |
create database hive character set utf8 ; |
hive用戶可以不用指定全部庫的權限。
4.4 配置ambari-server
4.4.1 SETUP
1 |
ambari-server setup |
4.4.2 配置流程
以下為全部的配置過程,其中主要是自定義jdk,輸入JAVA_HOME路徑,自定義數據庫選mysql,輸入數據庫用戶名,密碼等
1 |
ambari-server setup |
4.4.3將AMBARI數據庫腳本導入到數據庫
1 |
mysql -uambari -pAmbari-123 |
4.4.4 啟動AMBARI
1 |
ambari-server start |
4.4.5 啟動成功,可以通過如下地址訪問:
用戶名,密碼為admin admin
5、使用ambari瀏覽器界面安裝hadoop,hive等組件
5.1 登錄到ambari管理界面
5.2 安裝hdp集群,點擊Launch Install Wizard
5.3,設置集群名稱
5.4 配置本地源
其中HDP-GPL較小,用默認的即可
5.5 設置host
其中下面的為master上ssh的私鑰(~/.ssh/id_rsa)
5.6 Host確認
如果失敗或者卡住不動可根據日志解決,如果warn根據提示信息解決,直到全部為Success才可以進行下一步。
注:我一般根據/var/log/ambari-server/ambari-server.log 查看ambari的日志,根據里面的異常解決問題,如果沒有異常,再查看ambari的其他日志文件。
下面兩個是我在使用ambari時碰到的異常,可以參考:HDFS DataNode啟動異常:/opt/jdk1.8.0_151/bin/java:權限不夠和ambari 異常總結及解決辦法
5.7 選擇要安裝的服務
如果有依賴其他組件選擇ok即可,如安裝hive依賴tez,pig等
5.8 設置各個服務Master
5.9 設置Slaves 和 Clients
5.10 自定義配置
其中紅色的必須要改,大致是設置路徑,密碼等,如hive要設置hive元數據的數據庫信息,我用的master上的mysql
測試一下連接
沒有了紅色的即可進行下一步,如遇到warn,可根據提示信息進行修改配置,也可以忽略警告,等裝完以后再改。
5.11 review前面的配置
5.12 安裝、啟動、測試
這里因為個人電腦配置較低,瀏覽器有點卡,進度條沒有顯示出來。
5.13 安裝完成
若最后出現警告,可以裝完重啟所有服務,再檢查看看有沒有問題,如有警告或啟動失敗,可根據日志排查原因,一開始安裝的的組件較多的話,出現警告的可能性會大一些,所以可以先裝幾個必要的組件,之后一個一個組件裝。
5.14 概要
5.15 hive啟動異常
這次安裝重啟之后發現hive等服務啟動不成功,我就把hive等卸載然后重裝,本來以為是開始是hive沒安裝成功,但是重裝后hive還是啟動不成功,看了一下日志,發現是之前手動安裝的原生的hive的環境變量沒有注釋掉,注釋掉,重啟ambari之后,再啟動所有服務,就成功了(再在hive shell 里建表、插入數據、查詢驗證一下),所以如果在已經安裝好的大數據集群上安裝ambari,最好先把之前配的環境變量注釋掉。