ambari 離線安裝

先明確幾個概念:

1. Ambari只能安裝Hortonworks Data Platform,即Hortonworks的開源Hadoop,不支持Apach的Hadoop平臺;

2. 對於已經安裝了Apach Hadoop或者其他Hadoop平臺的,不能使用Ambari來管理;

 

再說幾個注意事項:

1. Ambari默認的安裝方式是使用yum,從遠程下載HDP組件安裝,而HDP平臺安裝包都非常大(本例中使用的HDP-2.4.1安裝包爲6G),Ambari平臺有又30分鐘的Timeout限制,如果在30分鐘內下載不完HDP,就會造成安裝失敗。建議修改下載源文件,配置爲本地源;

2. Ambari安裝過程爲自動安裝,自動安裝腳本會創建很多用戶和其他組件(如系統自帶的Java和數據庫),建議使用一套乾淨的環境來安裝。

3. 系統請關閉Selinux、防火牆和THP;

4. 集羣機器請事先配置ssh互信;還是建議使用root用戶來互信;

 

操作系統:CentOS 6.6

 

集羣機器情況:

機器名

IP

功能

備註

Namenode1

172.26.5.21

NameNode and JobTracker

以下可能簡稱爲主機

Data01

172.26.5.22

Second Namenode

以下可能簡稱爲節點

Data02

172.26.5.23

DataNode and TaskTracker

以下可能簡稱爲節點

Data03

172.26.5.24

DataNode and TaskTracker

以下可能簡稱爲節點

 

2.1 配置本地源
上文提到,爲了加快安裝速度和防止超時錯誤,建議爲HDP配置本地源,請在事先在網上下載HDP、HDP-UTILS和Ambari,本例中幾個組件版本爲HDP-2.5.0,HDP-UTILS-1.1.0.21和Ambari-2.4.1.0。我們把namenode1服務器做爲源服務器。以下操作在namenode1機器運行。

1、下載壓縮包

首先下載包含必要軟件的壓縮包(tarball)到本地,以centOS6、centOS7,Ambari 2.4.1和HDP2.5.0.0爲例:

Ambari-2.4.1.0 壓縮包地址:

http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.4.1.0/ambari-2.4.1.0-centos7.tar.gz

http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.4.1.0/ambari-2.4.1.0-centos6.tar.gz

 

HDP-2.5.0.0壓縮包地址:

http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.5.0.0/HDP-2.5.0.0-centos7-rpm.tar.gz

http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.5.0.0/HDP-2.5.0.0-centos6-rpm.tar.gz

HDP UTILS壓縮包下載地址:

http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos7/HDP-UTILS-1.1.0.21-centos7.tar.gz

http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos6/HDP-UTILS-1.1.0.21-centos6.tar.gz

其他版本,下載地址請參考:

Ambari:

http://docs.hortonworks.com/HDPDocuments/Ambari-2.4.1.0/bk_ambari-installation/content/ambari_repositories.html

HDP和HDP UTILS:

http://docs.hortonworks.com/HDPDocuments/Ambari-2.4.1.0/bk_ambari-installation/content/hdp_stack_repositories.html

2.1.1 安裝配置本地源需要的組件
yum install httpd

yum install yum-utils

yum repolist

 

yum install createrepo

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

 

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

[root@namenode1~]# mkdir /var/www/html/ambari

[root@namenode1~]# mkdir /var/www/html/hdp

[root@namenode1~]# tar -xf ambari-2.4.1.0-centos6.tar.gz -C /var/www/html/ambari/ 

[root@namenode1~]# tar -xf HDP-2.5.0.0-centos6-rpm.tar.gz -C /var/www/html/hdp/

 

3.    啓動httpd服務

[root@namenode1~]# service httpd restart

 

4.    設置httpd服務開機自動啓動

 [root@namenode1 ~]# chkconfig httpd on

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

[root@namenode1 ~]# tar -xf ambari-2.4.1.0-centos6.tar.gz -C/var/www/html/ambari/

http://172.26.5.21/ambari/AMBARI-2.4.1.0/centos6/

域名後80爲httpd服務配置的端口

 

 

2. 使用wget命令:

wget -nvhttp://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.4.1.0/ambari.repo -O/etc/yum.repos.d/ambari.repo

 

vi /etc/yum.repos.d/ambari.repo命令完成後,

 

修改ambari.repo文件

[Updates-ambari-2.4.1.0]

name=ambari-2.4.1.0 - Updates

baseurl=http://172.26.5.21/ambari/AMBARI-2.4.1.0/centos6/

gpgcheck=1

gpgkey=http://172.26.5.21/ambari/AMBARI-2.4.1.0/centos6/2.4.1.0-22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

enabled=1

priority=1

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

可以通過設置gpgcheck=0來禁用GPG檢查,如果不禁用,我們也可以修改gpgkey成本地的庫源。其中,INSERT-BASE-URL爲之前設置好的本地鏡像Ambari的URL地址。以我爲例,我是安裝在機器系統爲centOS6的172.26.5.21上,所以,我的INSERT-BASE-URL爲http://172.26.5.21/ambari/AMBARI-2.4.1.0/centos6,gpgkey爲http://172.26.5.21/ambari/AMBARI-2.4.1.0/centos6/2.4.1.0-22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

2.1.2 配置HDP本地源
把下載的HDP-2.5.0.0-centos6-rpm.tar.gz包拷貝到/var/www/html/hdp/目錄下,用瀏覽器輸入網址http://172.26.5.21/hdp/HDP-2.5.0/centos6/ ,查看HDP目錄結構

[root@namenode1 ~]# tar -xf HDP-2.5.0.0-centos6-rpm.tar.gz -C/var/www/html/hdp

http://172.26.5.21/hdp/HDP/centos6/

 

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

 

在/etc/yum.repo.d目錄中,修改HDP.repo文件

VERSION_NUMBER=2.5.0.0-1245

[HDP-2.5.0.0]

name=HDP Version - HDP-2.5.0.0

baseurl=http://172.26.5.21/hdp/HDP/centos6/

gpgcheck=1

gpgkey=http://172.26.5.21/hdp/HDP/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

enabled=1

priority=1

黃色字體爲修改部分,把baseurl換成本地的url。

 

2.1.3 配置HDP-UTILS
同樣,把下載的HDP-UTILS-1.1.0.20-centos6.tar.gz包拷貝到/var/www/html/hdp/ HDP-UTILS-1.1.0.21目錄下

[root@namenode1 ~]#mkdir /var/www/html/hdp/HDP-UTILS-1.1.0.21

root@namenode1 ~]# tar -xf HDP-UTILS-1.1.0.21-centos6.tar.gz  -C /var/www/html/hdp/HDP-UTILS-1.1.0.21

 

用瀏覽器輸入網址http://172.26.5.21/hdp/HDP-UTILS-1.1.0.20/centos6/ ,查看HDP-UTILS目錄結構

 

在/etc/yum.repo.d目錄中,修改HDP.repo文件

 

[HDP-UTILS-1.1.0.21]

name=HDP-UTILS Version - HDP-UTILS-1.1.0.21

baseurl=http://172.26.5.21/hdp/HDP-UTILS-1.1.0.21/

gpgcheck=1

gpgkey=http://172.26.5.21/hdp/HDP-UTILS-1.1.0.21/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

enabled=1

priority=1

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

 

2.1.4 生成本地源
使用createrepo命令,生成本地源

 [root@namenode1 ~]# mkdir -p/var/www/html/hdp/HDP/centos6/

[root@namenode1 ~]#  mkdir -p/var/www/html/hdp/HDP-UTILS-1.1.0.21/

[root@namenode1 ~]# mkdir -p /var/www/html/ambari/AMBARI-2.2.1.0/centos6/[root@namenode1 ~]# createrepo /var/www/html/hdp/HDP/centos6/

[root@namenode1 ~]# createrepo /var/www/html/hdp/HDP-UTILS-1.1.0.21/

2.2 關閉Selinux和THP
1.2.1 修改hostname

vi/etc/sysconfig/network

NETWORKING=yes

HOSTNAME=namenode1

NOZEROCONF=yes

把所有要添加到集羣中的主機都要加入hosts中,格式如下:

[root@ namenode1 ~]# vi /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomainlocalhost6 localhost6.localdomain6

172.26.5.21 namenode1

172.26.5.22 data01   

172.26.5.23 data02   

172.26.5.24 data03   

 for i in {21,22,23,24};do scp /etc/[email protected].$i:/etc;done

2.2.2安裝java軟件

[root@namenode1 ~]# mkdir/usr/java

[root@namenode1 ~]# chown  hadoop:hadoop /usr/java

1)解壓java軟件包

[root@namenode1 hadoop]$ tar xvfjdk-7u79-linux-x64.tar.gz -C /usr/java/

2)編輯環境變量

[root@namenode1 ~]# cat/etc/profile

export JAVA_HOME=/usr/java/jdk1.7.0_79

export PATH=$PATH:$JAVA_HOME/bin

source /etc/profile

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

使用sestatus -v 命令,查看Selinux狀態。

如果不是disable狀態,編輯/etc/sysconfig/selinux 文件

vi /etc/sysconfig/selinux

把裏邊的一行改爲

SELINUX=disabled

保存,然後重啓機器。

 

2.2.3 關閉THP
在集羣的每個節點,都要關閉。編輯/etc/grub.conf文件,在kernel 行後面加入

transparent_hugepage=never,保存退出,重啓機器。

 

2.2.4 配置NTP時間同步
⑴ vi /etc/ntp.conf

restrict 127.0.0.1

restrict -6 ::1

restrict 172.26.5.21 mask 255.255.255.0 nomodify notrap

server  127.127.1.0     # local clock

fudge   127.127.1.0 stratum 10

⑵ 啓動ntp服務

#/etc/init.d/ntpd start

添加到自啓動

所有節點執行如下命令,讓每次系統啓動的時候自動啓動ntp服務:

chkconfig --level 35 ntpd on

⑶客戶端設置

[root@namenode1 ~]#vi /etc/ntp.conf

driftfile /var/lib/ntp/drift 文件裏有

server 172.26.5.21

restrict 172.26.5.21 nomodify notrap noquery

server  127.127.1.0     # local clock

fudge   127.127.1.0 stratum 10

Npt主服務器ip要去掉,只是針對客戶的而言

[root@namenode1 ~]# for i in {32,33,34,35,36,37,38,39,40,41,42};do scp/etc/ntp.conf [email protected]$i:/etc/ntp.conf; done

啓動服務

/etc/init.d/ntpd start

添加到自啓動

所有節點執行如下命令,讓每次系統啓動的時候自動啓動ntp服務:

chkconfig --level 35 ntpd on

 

所有客戶端手動同步時間

[root@data01 ~]#ntpdate -u manager

[root@data02 ~]# crontab -e

*/5 * * * * root /usr/sbin/ntpdate 172.26.5.21; /sbin/hwclock -w

[root@masternode02 ~]# service crond restart ;chkconfig --level 35crond on

三、Ambari安裝
使用命令查看案例列表:

yum clean all

yum list|grep ambari

 

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

 

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

1.設置JDK

[root@namenode1~]# ambari-server setup

Usingpython  /usr/bin/python

Setupambari-server

CheckingSELinux...

SELinuxstatus is 'disabled'

Customizeuser account for ambari-server daemon [y/n] (n)? y

Enter useraccount for ambari-server daemon (root):

Adjustingambari-server permissions and ownership...

Checkingfirewall status...

CheckingJDK...

[1] OracleJDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8

[2] OracleJDK 1.7 + Java Cryptography Extension (JCE) Policy Files 7

[3] CustomJDK

==============================================================================

Enter choice(1): 3

WARNING: JDKmust be installed on all hosts and JAVA_HOME must be valid on all hosts.

WARNING: JCEPolicy files are required for configuring Kerberos security. If you plan to useKerberos,please make sure JCE Unlimited Strength Jurisdiction Policy Files arevalid on all hosts.

Path toJAVA_HOME: /usr/java/jdk1.7.0_79

ValidatingJDK on Ambari Server...done.

Completingsetup...

2.設置數據庫,Ambari默認使用的是PostgreSQL,也可指定其他數據庫

Configuringdatabase...

Enteradvanced database configuration [y/n] (n)? y

Configuringdatabase...

==============================================================================

Choose oneof the following options:

[1] -PostgreSQL (Embedded)

[2] - Oracle

[3] - MySQL/ MariaDB

[4] -PostgreSQL

[5] -Microsoft SQL Server (Tech Preview)

[6] - SQLAnywhere

[7] - BDB

==============================================================================

Enter choice(1): 3

Hostname(localhost): namenode1

Port (3306):

Databasename (ambari):

Username(ambari):

EnterDatabase Password (bigdata):

Re-enterpassword:

Configuringambari database...

Copying JDBCdrivers to server resources...

Configuringremote database connection properties...

WARNING:Before starting Ambari Server, you must run the following DDL against thedatabase to create the schema:/var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql

Proceed withconfiguring remote database connection properties [y/n] (y)? y

Extractingsystem views...

.....ambari-admin-2.4.1.0.22.jar

......

Adjustingambari-server permissions and ownership...

AmbariServer 'setup' completed successfully.

將Ambari數據庫腳本導入到數據庫

如果使用自己定義的數據庫,必須在啓動Ambari服務之前導入Ambari的sql腳本

用Ambari用戶(上面設置的用戶)登錄mysql

[root@namenode1~]# mysql -u ambari -pambari -hnamenode1

CREATE USER'ambari' IDENTIFIED BY 'ambari';

 

grant allprivileges on *.* to 'ambari'@'namenode1' identified by 'ambari' with grantoption;

grant allprivileges on *.* to 'ambari'@'%' identified by 'ambari' with grant option;

 

mysql>create database ambari DEFAULT CHARSET utf8;

mysql>use ambari

mysql>source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql

9)啓動Amabri

[root@namenode1~]# ambari-server start

Usingpython  /usr/bin/python

Startingambari-server

AmbariServer running with administrator privileges.

Organizingresource files at /var/lib/ambari-server/resources...

Ambaridatabase consistency check started...

No errorswere found.

Ambaridatabase consistency check finished

Server PIDat: /var/run/ambari-server/ambari-server.pid

Server outat: /var/log/ambari-server/ambari-server.out

Server logat: /var/log/ambari-server/ambari-server.log

Waiting forserver start....................

AmbariServer 'start' completed successfully.

 

Ambari默認使用的是8080端口,如果端口被佔用,可修改配置文件/etc/ambari-server/conf/ambari.properties,在文件中增加 client.api.port=<port_number>

 

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

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

Ambari默認用戶名/密碼是:admin/admin

 

http://172.26.5.21:8080/#/login

 

 

安裝Ambariagent

wget -nv http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.4.1.0/ambari.repo-O /etc/yum.repos.d/ambari.repo

 

 

root@namenode1~]# mkdir -p /var/www/html/ambari/centos6/2.x/updates/2.4.1.0

[root@namenode1~]# createrepo /var/www/html/ambari/centos6/2.x/updates/2.4.1.0

 

[root@data01~]# cat /etc/yum.repos.d/ambari.repo

#VERSION_NUMBER=2.4.1.0-22

 

[Updates-ambari-2.4.1.0]

name=ambari-2.4.1.0- Updates

baseurl=http://172.26.5.21/ambari/centos6/2.x/updates/2.4.1.0

gpgcheck=1

gpgkey=http://172.26.5.21/ambari/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

enabled=1

priority=1

 

yum cleanall

yum listupdate

yummakecache

yum repolist

四、部署大數據平臺
圖文並茂

步驟一,點擊運行安裝嚮導

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

 

步驟三,選擇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安裝就可以了。

root@namenode1~]# ambari-server setup --jdbc-db=mysql --jdbc-driver=/opt/mysql-connector-java-5.1.36/mysql-connector-java.jar

 

 

步驟九,配置文件,可圖形化配置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

 

 

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

大功告成。
--------------------- 
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章