centos7 ambari2.6.1.5+hdp2.6.4.0 大數據集群安裝部署


前言

本文是講如何在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
2
3
4
5
6
7
8
9
1.2.1 yum和rpm
1.2.2 scp, curl, unzip, tar、 wget
1.2.3 OpenSSL(v1.01,build 16或更高版本)
1.2.4 python:2.7(注意如果有使用python3.x的需求,不要改變python環境變量,否則3.x會報錯)
1.2.5 jdk:1.8
1.2.6 mysql:5.6(官網上寫的5.6,不確定更高版本有沒有問題,也可以使用其他數據庫,根據自己習慣)
1.2.7 內存要求:Ambari主機應該至少有1 GB RAM,500 MB空閑,(但如果使用的話,建議內存8g以上,我自己的虛擬機內存4g搭好后跑起來會很卡,配置低的話警告也會很多)
1.2.8 檢查最大打開文件描述符,推薦的最大打開文件描述符數為10000或更多
1.2.9 mysql-connector-java

以上軟件大部分系統自帶,其余可參考:CentOS 初始環境配置

2、環境准備(在每台主機上)

2.1 ssh 免密

只需master 免密到其他節點(包含自身),不需要互通,參考:linux ssh 免密登錄

2.2 啟用NTP

1
2
yum install -y ntp
systemctl enable ntpd

2.3 編輯主機文件

1
vim /etc/hosts

本文只是在個人虛擬機上進行安裝測試,所以只選擇兩個節點,在公司真實環境下多個節點安裝是一樣的,ambari對內存要求較高,如果個人電腦配置不高的話,建議學習一下即可。

1
2
192.168.44.138 ambari.master.com
192.168.44.139 ambari.slave1.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
2
hostname
hostname -f

 

兩個必須都為ambari.master.com才行

2.5 編輯網絡配置文件

1
vim /etc/sysconfig/network

修改HOSTNAME屬性為FQDN

1
2
NETWORKING=yes
HOSTNAME=ambari.master.com

 

2.6 禁用iptables

1
2
systemctl disable firewalld
service firewalld stop

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
2
yum install httpd -y
systemctl enable httpd && systemctl start httpd

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
2
3
wget http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.1.5/ambari-2.6.1.5-centos7.tar.gz
wget http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.4.0/HDP-2.6.4.0-centos7-rpm.tar.gz
wget http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.22/repos/centos7/HDP-UTILS-1.1.0.22-centos7.tar.gz

下載地址見官方文檔:https://docs.hortonworks.com/HDPDocuments/Ambari-2.6.1.5/bk_ambari-installation/content/ch_obtaining-public-repos.html

3.4.2 解壓

1
2
3
tar -zxvf ambari-2.6.1.5-centos7.tar.gz -C /var/www/html
tar -zxvf HDP-2.6.4.0-centos7-rpm.tar.gz -C /var/www/html/hdp/
tar -zxvf HDP-UTILS-1.1.0.22-centos7.tar.gz -C /var/www/html/hdp/HDP-UTILS/

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
2
cd /var/www/html/hdp/HDP/centos7/2.6.4.0-91
mv index.xml index.xml.bak

 

此時應該可以在瀏覽器訪問下面的地址了,可以驗證一下

1
2
3
http://ambari.master.com/ambari/centos7/2.6.1.5-3/
http://ambari.master.com/hdp/HDP/centos7/2.6.4.0-91
http://ambari.master.com/hdp/HDP-UTILS

 

3.5 配置ambari、HDP、HDP-UTILS的本地源

1
2
cp /var/www/html/ambari/centos7/2.6.1.5-3/ambari.repo /etc/yum.repos.d/
cp /var/www/html/hdp/HDP/centos7/2.6.4.0-91/hdp.repo /etc/yum.repos.d/

將每個repo里的baseurl和gpgkey的地址修改為本地的

1
vim /etc/yum.repos.d/ambari.repo

 

1
2
3
4
5
6
7
8
#VERSION_NUMBER=2.6.1.5-3
[ambari-2.6.1.5]
name=ambari Version - ambari-2.6.1.5
baseurl=http://ambari.master.com/ambari/centos7/2.6.1.5-3
gpgcheck=1
gpgkey=http://ambari.master.com/ambari/centos7/2.6.1.5-3/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
1
vim /etc/yum.repos.d/hdp.repo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#VERSION_NUMBER=2.6.4.0-91
[HDP-2.6.4.0]
name=HDP Version - HDP-2.6.4.0
baseurl=http://ambari.master.com/hdp/HDP/centos7/2.6.4.0-91
gpgcheck=1
gpgkey=http://ambari.master.com/hdp/HDP/centos7/2.6.4.0-91/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1


[HDP-UTILS-1.1.0.22]
name=HDP-UTILS Version - HDP-UTILS-1.1.0.22
baseurl=http://ambari.master.com/hdp/HDP-UTILS
gpgcheck=1
gpgkey=http://ambari.master.com/hdp/HDP/centos7/2.6.4.0-91/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
1
2
3
4
yum clean all
yum list update
yum makecache
yum repolist

3.6 (可選)如果您的環境中配置了多個存儲庫,請在集群中的所有節點上部署以下插件

1
2
yum install yum-plugin-priorities -y
vim /etc/yum/pluginconf.d/priorities.conf
1
2
3
[main]
enabled = 1
gpgcheck=0

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
2
3
4
create database ambari character set utf8 ;  
CREATE USER 'ambari'@'%'IDENTIFIED BY 'Ambari-123';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';
FLUSH PRIVILEGES;

如果要安裝Hive,再創建Hive數據庫和用戶,再執行下面的語句:

1
2
3
4
create database hive character set utf8 ;  
CREATE USER 'hive'@'%'IDENTIFIED BY 'Hive-123';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%';
FLUSH PRIVILEGES;

 

hive用戶可以不用指定全部庫的權限。

4.4 配置ambari-server

4.4.1 SETUP

1
ambari-server setup

4.4.2 配置流程

以下為全部的配置過程,其中主要是自定義jdk,輸入JAVA_HOME路徑,自定義數據庫選mysql,輸入數據庫用戶名,密碼等

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
ambari-server setup
Using python /usr/bin/python2
Setup ambari-server
Checking SELinux...
SELinux status is 'enabled'
SELinux mode is 'permissive'
WARNING: SELinux is set to 'permissive' mode and temporarily disabled.
OK to continue [y/n] (y)? y
Customize user account for ambari-server daemon [y/n] (n)? y
Enter user account for ambari-server daemon (root):ambari
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: /opt/jdk1.8.0_151
Validating JDK on Ambari Server...done.
Checking GPL software agreement...
GPL License for LZO: https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html
Enable Ambari Server to download and install GPL Licensed LZO packages [y/n] (n)? y
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 / MariaDB
[4] - PostgreSQL
[5] - Microsoft SQL Server (Tech Preview)
[6] - SQL Anywhere
[7] - BDB
==============================================================================
Enter choice (1): 3
Hostname (localhost):
Port (3306):
Database name (ambari):
Username (ambari):
Enter Database Password (bigdata):
Re-enter password:
Configuring ambari database...
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)? y
Extracting system views...
ambari-admin-2.6.1.5.3.jar
...........
Adjusting ambari-server permissions and ownership...
Ambari Server 'setup' completed successfully.

 

4.4.3將AMBARI數據庫腳本導入到數據庫

1
2
3
mysql -uambari -pAmbari-123
use ambari;
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql

4.4.4 啟動AMBARI

1
ambari-server start

4.4.5 啟動成功,可以通過如下地址訪問:

http://ambari.master.com:8080

用戶名,密碼為admin admin

5、使用ambari瀏覽器界面安裝hadoop,hive等組件

5.1 登錄到ambari管理界面

http://ambari.master.com:8080

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,最好先把之前配的環境變量注釋掉。

5.16 啟動成功



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM