想學大數據不會搭建集群?別慌,基於ambari一鍵安裝Hadoop集群

隨著大數據的日益普及,很多人對大數據越來越感興趣,有些程序開發者也躍躍欲試,但是苦於不會搭建hadoop集群環境,而常常被攔在大數據的門檻之外。本文以圖文並茂的方式,旨在說明如何在自己的虛擬機上搭建hadoop集群環境,由於環境不同僅供大家參考!

一、機器環境詳細說明:

虛擬機:VirtualBox5.1.28

linux系統:centos6.9

jdk:Java HotSpot(TM) 64-Bit 1.8.0_152

數據庫:MySQL5.1

ambari:ambari2.5.0.3

hdp:hdp2.5.3

節點數:4個,關閉所有機器的防火牆,設置好時鐘同步

集群方式:完全分佈式

想學大數據不會搭建集群?別慌,基於ambari一鍵安裝Hadoop集群

hadoop集群機器環境說明

二、配置集群間機器名

為了方便集群間的訪問,我們按上表為每個機器配置好各個機器名稱,具體設置如下:

通過 /etc/sysconfig/network 配置文件修改其機器名。

通過 /etc/hosts 配置文件來設置其FQDN(Fully Qualified Domain Name)全限定域名。

主服務器192.168.65.111設置為主機名為master,全限定域名為master.hadoop。

想學大數據不會搭建集群?別慌,基於ambari一鍵安裝Hadoop集群

集群中主服務器的設置

想學大數據不會搭建集群?別慌,基於ambari一鍵安裝Hadoop集群

集群中主服務器的設置

按相同設置來分別配置其他三個機器節點,對應表如下:

想學大數據不會搭建集群?別慌,基於ambari一鍵安裝Hadoop集群

集群中其他三臺機器的配置

三、配置集群間ssh互通

由於hadoop集群間存在任務計劃分發、心跳監測以及任務管理、多租戶管理等等通信,為了通信安全選擇採用ssh方式,為了方便通信我們將ssh配置成無密碼免登陸方式。具體操作請參考我的另一篇文章:

四、通過yum安裝ambari-server

ambari-server安裝在主服務器192.168.65.111上。

1、配置ambari-server的yum源,使用wget命令下載ambari的yum源。

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

操作完畢後,在/etc/yum.repos.d目錄下會多一個ambari.repo文件。

想學大數據不會搭建集群?別慌,基於ambari一鍵安裝Hadoop集群

使用yum命令安裝ambari

通過yum repolist命令驗證yum源配置是否成功:

想學大數據不會搭建集群?別慌,基於ambari一鍵安裝Hadoop集群

通過yum命令檢驗yum源

2、通過yum命令安裝ambari-server。

使用 yum install ambari-server 命令來安裝ambari-server,然後輸入 y 確認安裝。如下圖:

想學大數據不會搭建集群?別慌,基於ambari一鍵安裝Hadoop集群

安裝ambari-server

安裝完成後返回 complete!

想學大數據不會搭建集群?別慌,基於ambari一鍵安裝Hadoop集群

安裝ambari-server

3、啟動ambari-server並配置其參數

通過yum命令安裝完ambari-server組件後,我們要先通過ambari-server setup命令完成它的初始化和參數配置。

1)、如果你的SELinux未關閉,則會有警告信息,選擇 y 即可。

Setup ambari-server
Checking SELinux…
SELinux status is ‘enabled’
SELinux mode is ‘enforcing’
Temporarily disabling SELinux
WARNING: SELinux is set to ‘permissive’ mode and temporarily disabled.
OK to continue [y/n] (y)? y

2)、如果默認使用root用戶來運行ambari則選擇 n,否則選擇 y 並輸入之前創建好的用戶。這裡我們選擇 n。

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

3)、下面選擇JDK環境,這裡我們選擇 3。

然後輸入系統配置好的JDK環境/usr/java/jdk1.8.0_152。

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/java/jdk1.8.0_152
Validating JDK on Ambari Server…done.

4)這裡我們選擇自定義指定ambari的數據庫,故選擇 y。

Completing setup…
Configuring database…
Enter advanced database configuration [y/n] (n)? y

5)、這裡我們輸入3,選擇MySQL。然後設置其數據庫和用戶信息:

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): localhost
Port (3306): 3306
Database name (ambari): ambari
Username (ambari): ambari
Enter Database Password (bigdata):

整個過程截圖如下:

想學大數據不會搭建集群?別慌,基於ambari一鍵安裝Hadoop集群

ambari參數初始化

想學大數據不會搭建集群?別慌,基於ambari一鍵安裝Hadoop集群

ambari參數初始化

至此ambari的初始化相關參數設置完畢。

4、配置mysql中ambari用戶環境。

創建ambari數據庫和ambari用戶:
CREATE DATABASE ambari CHARCTER SET utf8 ;
CREATE USER ‘ambari’@’%’ IDENTIFIED BY ‘bigdata’;
GRANT ALL PRIVILEGES ON . TO ‘ambari’@’%’;
GRANT ALL PRIVILEGES ON . TO ‘ambari’@’localhost’;
執行ambari提供的SQL腳本,初始化ambari庫。注意切換到ambari用戶和數據庫中。

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

5、啟動ambari-server並驗證訪問ambari,經過以上配置完成安裝。

啟動ambari:ambari-server start

想學大數據不會搭建集群?別慌,基於ambari一鍵安裝Hadoop集群

啟動ambari-server

訪問ambari驗證其是否啟動:http://192.168.65.111:8080/。

想學大數據不會搭建集群?別慌,基於ambari一鍵安裝Hadoop集群

ambari登陸界面

五、ambari安裝hdp的hadoop集群

輸入admin/admin登陸ambari,選擇Launch Install Wizard開始安裝hdp。

想學大數據不會搭建集群?別慌,基於ambari一鍵安裝Hadoop集群

ambari安裝hdp

1、配置集群名稱,選擇hdp版本,指定集群節點,設置集群名字。

想學大數據不會搭建集群?別慌,基於ambari一鍵安裝Hadoop集群

配置hadoop集群名稱

選擇版本2.5.3,由於我們使用的是centos6.9系統,故下面的repositories中只保留redhat6:

想學大數據不會搭建集群?別慌,基於ambari一鍵安裝Hadoop集群

選擇hadoop集群版本

設置集群節點全限定域名:

想學大數據不會搭建集群?別慌,基於ambari一鍵安裝Hadoop集群

設定hadoop集群全限定名

進入驗證節點信息:

想學大數據不會搭建集群?別慌,基於ambari一鍵安裝Hadoop集群

驗證集群集群配置情況

各個節點驗證通過,ambari-agent安裝完畢:

想學大數據不會搭建集群?別慌,基於ambari一鍵安裝Hadoop集群

ambari-agent安裝成功

2、安裝HDFS、MapReduce、Zookeeper組件

進入安裝hadoop組件的環節,這裡我們先安裝HDFS、MapReduce2和Yarn。其中ambari會要求我們安裝zookeeper和ambariMetrics和SmartSense。

想學大數據不會搭建集群?別慌,基於ambari一鍵安裝Hadoop集群

安裝hadoop相關組件

分配組件到集群中各節點,我們按默認分配即可:

想學大數據不會搭建集群?別慌,基於ambari一鍵安裝Hadoop集群

安裝hadoop相關組件

分配從服務器和客戶端節點:

想學大數據不會搭建集群?別慌,基於ambari一鍵安裝Hadoop集群

安裝hadoop相關組件

服務參數設置,按默認即可:

想學大數據不會搭建集群?別慌,基於ambari一鍵安裝Hadoop集群

配置相關組件參數

參數設置完畢下一步後,進入部署確認頁面:

想學大數據不會搭建集群?別慌,基於ambari一鍵安裝Hadoop集群

確認集群組件安裝情況

我們點擊deploy按鈕,進入部署階段:

想學大數據不會搭建集群?別慌,基於ambari一鍵安裝Hadoop集群

hadoop集群安裝界面

正常的話需要40分鐘左右的時間即可完成,時間長短取決於安裝的組件多少和機器的性能及網絡狀況。當然中間還會出現安裝失敗的情況,那麼恭喜你中獎了,這時需要retry來重新安裝:

想學大數據不會搭建集群?別慌,基於ambari一鍵安裝Hadoop集群

hadoop集群安裝過程

我是在這裡中大獎了,前後重新retry不下10次,具體幾次都記不清了,心理萬馬奔騰啊。但經過不懈努力終於走上了正軌:

想學大數據不會搭建集群?別慌,基於ambari一鍵安裝Hadoop集群

hadoop集群安裝過程

安裝完成後,會自動啟動和測試安裝的組件:

想學大數據不會搭建集群?別慌,基於ambari一鍵安裝Hadoop集群

hadoop集群安裝成功界面

經過不斷的努力嘗試,終於安裝成功,點擊下一步,查看摘要說明:

想學大數據不會搭建集群?別慌,基於ambari一鍵安裝Hadoop集群

hadoop集群安裝成功界面

結果寫的正常用時24分鐘,可實際卻是折騰了一天的時間,你說我容易嘛~!

3、查看剛剛創建的名為hdp_haoop的hadoop集群情況,集群環境完美呈現:

想學大數據不會搭建集群?別慌,基於ambari一鍵安裝Hadoop集群

hadoop集群環境成功安裝

以上步驟,就是基於ambari+hdp搭建hadoop集群環境的完整過程,只要大家細心操作,耐心等待肯定沒有問題。切記在操作前,確保環境正確,尤其是以下幾點:

ssh免密碼登陸配置
關閉防火牆和SELinux
在MySQL數據庫中創建ambari用戶和數據庫並執行ambari提供的數據庫腳本
開啟htp時鐘同步

歡迎關注我@碼農wu師,免費獲取更多編程知識!


分享到:


相關文章: