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

轉載請務必註明原創地址爲:http://dongkelun.com/2018/04/25/ambariConf/html

前言

本文是講如何在centos7(64位) 安裝ambari+hdp,若是在裝有原生hadoop等集羣的機器上安裝,須要先將集羣服務停掉,而後將不須要的環境變量註釋掉便可,若是不註釋掉,後面雖然能夠安裝成功,可是在啓動某些服務的時候可能會有異常,好比最後提到的hive啓動異常。本文適合系統: RedHat七、CentOS七、Oracle Linux7(都是64位)java

注意:centos7中文系統有bug(python腳本中文識別問題),須要使用英文系統。python

本文僅做參考(基本每一個配置博客都有侷限性和坑~),推薦先參考官方文檔:mysql

https://docs.hortonworks.com/HDPDocuments/Ambari-2.6.1.5/bk_ambari-installation/content/ch_Getting_Ready.htmljquery

如下均在root用戶下執行。linux

一、知足最低系統要求

1.1 瀏覽器

建議您將瀏覽器(本身使用的windows既可)更新至最新的穩定版本ajax

1.2 軟件要求(在每臺主機上)

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 初始環境配置sql

二、環境準備(在每臺主機上)

2.1 ssh 免密

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

2.2 啓用NTP

yum install -y ntp
systemctl enable ntpd

2.3 編輯主機文件

vim /etc/hosts

本文只是在我的虛擬機上進行安裝測試,因此只選擇兩個節點,在公司真實環境下多個節點安裝是同樣的,ambari對內存要求較高,若是我的電腦配置不高的話,建議學習一下便可。數據庫

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

hostname ambari.master.com

2.4.2

vim /etc/hostname
ambari.master.com

兩步缺一不可,經過命令驗證

hostname
hostname -f

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

2.5 編輯網絡配置文件

vim /etc/sysconfig/network

修改HOSTNAME屬性爲FQDN

NETWORKING=yes
HOSTNAME=ambari.master.com

2.6 禁用iptables

systemctl disable firewalld
service firewalld stop

2.7 禁用SELinux

2.7.1 臨時禁用

setenforce 0

2.7.2 永久禁用(重啓機器)

vim /etc/sysconfig/selinux

將SELINUX改成disabled

SELINUX=disabled

這樣服務器或虛擬機重啓也沒有問題。

三、製做本地源(僅在master)

由於ambari 和 hdp 安裝文件比較大,若是在線安裝的話會很慢,因此最好選擇本地源。

(能夠在集羣能夠訪問的任何機器上製做本地源)

3.1 安裝製做本地源工具

yum install yum-utils createrepo

3.2 建立一個HTTP服務器

yum install httpd -y
systemctl enable httpd && systemctl start httpd

3.3 爲Web服務器建立目錄

mkdir -p /var/www/html/hdp/HDP-UTILS

3.4 下載系統對應的最新版相關安裝包

其中包括Ambari、HDP、HDP-UTILS,因爲HDP-GPL較小隻有幾百k,因此沒有配置爲本地源。

3.4.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
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 解壓

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註釋掉便可

cd /var/www/html/hdp/HDP/centos7/2.6.4.0-91
mv index.xml index.xml.bak

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

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的本地源

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的地址修改成本地的

vim /etc/yum.repos.d/ambari.repo
#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
vim /etc/yum.repos.d/hdp.repo
#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
yum clean all
yum list update
yum makecache
yum repolist

3.6 (可選)若是您的環境中配置了多個存儲庫,請在集羣中的全部節點上部署如下插件

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

四、安裝ambari(僅在master)

4.1安裝ambari-server

yum install ambari-server -y

4.2 設置mysql鏈接器

ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar

(若是使用mysql做爲hive的元數據庫)

4.3 建立相關的mysql數據庫

建立ambari數據庫及用戶,登陸root用戶執行下面語句:

mysql -uroot -pRoot-123
create database ambari character set utf8 ;  
CREATE USER 'ambari'@'%'IDENTIFIED BY 'Ambari-123';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';
FLUSH PRIVILEGES;

若是要安裝Hive,再建立Hive數據庫和用戶,再執行下面的語句:

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

ambari-server setup

4.4.2 配置流程

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

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數據庫腳本導入到數據庫

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

4.4.4 啓動ambari

ambari-server start

4.4.5 啓動成功,能夠經過以下地址訪問:

http://ambari.master.com:8080

用戶名,密碼爲admin admin

五、使用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才能夠進行下一步。

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 啓動成功

相關文章
相關標籤/搜索