1. 程式人生 > >從頭開始系列(一)—HDP篇之Centos 7完全離線安裝HDP2.6.X

從頭開始系列(一)—HDP篇之Centos 7完全離線安裝HDP2.6.X

從頭開始系列—HDP篇之Centos 7離線安裝HDP2.6.X

標籤(空格分隔): 大資料 從頭開始系列

[TOC]

題外話

公司最近要搭建自己得大資料平臺,因為是培訓公司,就著實驗環境來。所以,從頭開始搭建大部分環境。總上考慮,我打算使用HDP來搭建公司的大資料平臺。

HDP能滿足大部分需求。

環境準備

本次安裝為離線安裝。安裝系統為:Centos 7
三臺伺服器:雙路24執行緒CPU、64G記憶體、1T硬碟
節點規劃如下:

表一

本次安裝得是HDP2.6.X系列。因為是離線安裝,所以需要其相應得離線檔案,他們有:

  • Centos 7 everything的iso
  • jdk 1.8+
  • MySql安裝包或者使用MaraiDB
  • HDP對應得檔案^footnote
    -ambari-2.5.0.3-centos7.tar.gz
    -HDP-2.6.1.0-centos7-rpm.tar.gz
    -HDP-UTILS-1.1.0.21-centos7.tar.gz
    -ambari.repo
    -hdp.repo

開始

1、伺服器端設定

1.1確認環境

  1. 三臺伺服器的HostName,以及/etc/hosts是否符合表一描述。
    image_1cbdu203816kk41m1pdq1n6e1eh42l.png-2kB
    微信圖片_20180419163422.png-4.3kB
  2. 安裝ambari時,需要關閉Linux的Selinux,故需要修改/etc/selinux/config修改為selinux=disabled
    image_1cbdtvs0d1vc6kpebua6rvva1r.png-2kB
    image_1cbdu0r2fuk3vig13k11qkr17hr28.png-24.1kB
  3. 因為我們是叢集環境,故需要明確確定時間問題導致的服務啟動失敗,解決辦法有:
    1、安裝ntp服務(如果大家叢集環境可以聯網,可以試著配置一下
    )
    2、使用xshell功能,設定一個相同的時間(我採用該方式)
    1.png-1.7kB
    image_1cbdtru904p513841ur9aing4c1e.png-3.3kB
  4. 需要生成ssh金鑰,並且主節點需要和從節點免密登陸
    ssh-keygen -t rsa
    
    三次回車後,會出現:
    image_1cbdu8saklm8fbb6q1ohic1v3f.png-8.7kB
    然後,使用
ssh-copy-id [email protected]
ssh-copy-id [email protected]

OK

  1. 需要關閉防火牆

以上必要的環境我們已經搭建完成。

1.2安裝必要軟體包

image_1cbdv8877hlg1fte11m1hvf12i83s.png-4.4kB
準備好了所有安裝包

  1. 安裝JDK
    tar zxvf jdk-8u161-linux-x64.tar.gz
    mv jdk1.8.0_161/ /opt/jdk
    ##修改環境變數
    vim /etc/profile
    
    image_1cbdvo471m5t82819qp13cd13l049.png-4.1kB
    source /etc/profile
    java
    javac
    
    如果java,javac有指令返回,說明環境變數配置成功
    scp -r /opt/jdk/ [email protected]:/opt/
    scp -r /opt/jdk/ [email protected]:/opt/
    scp -r /etc/profile [email protected]:/etc/
    scp -r /etc/profile root[email protected]:/etc/
    
    至此,jdk安裝完成
  2. 安裝MySql或者MaraiDB[需要在主節點安裝,本次安裝使用MaraiDB]^mysql
  3. 安裝web環境
    為什麼需要安裝web環境,因為我們需要通過repo的方式獲取安裝檔案,而我們下載了離線安裝包,所以需要配置相關的repo檔案。有很多種方式,但是我們這裡直接使用Python自帶的一個簡單工具來開啟
    ##因為我們是在/root/目錄下,所以我們需要在/root/HDP目錄下啟動該命令
    python -m SimpleHTTPServer
    
  4. 解壓所有相關檔案到指定資料夾下
    ##因為我們是在/root/HDP目錄下啟動的web服務,所以我們需要將相關檔案解壓到/root目錄下
    tar zxvf ambari-2.5.0.3-centos7.tar.gz
    tar zxvf HDP-2.6.1.0-centos7-rpm.tar.gz
    mkdir HDP-UTILS
    cd HDP-UTILS
    tar zxvf ../HDP-UTILS-1.1.0.21-centos7.tar.gz
    
    image_1cbe7o3s619cj1oru1a0u1tf7hvg9.png-4.6kB
    最終的目錄應該如上所示。
    我們訪問http://192.168.0.201:8000會發現如下介面:
    image_1cbe7s6kg1uepa810dd1lg8qdm.png-25.8kB
    這和上面的目錄是一一對應的。

1.3配置本地源

  • 配置Centos 7官方映象源

    因為我們是離線安裝,沒有任何聯網手段,故需要配置Centos 7官方映象源。

cd /etc/yum.repos.d/
##將所有的repo檔案移動到任意一個非現在位置的地方。然後建立a.repo
vim a.repo
##之後輸入:
[base]
name=LocalRepo
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
baseurl=file:///media
gpgcheck=0
enabled=1
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

上面程式碼我們看到,我們指定的url在file:///media,所以我們需要將Centos 7的everything的iso包掛載到/media下。

mount CentOS-7-x86_64-Everything-1708.iso /media/
lsblk

image_1cbe90od2rqfucu15431gtvvnc13.png-12.5kB

這樣表明已經掛著成功

yum makecache
vim /etc/yum.repos.d/ambari.repo
##輸入一下內容
#VERSION_NUMBER=2.4.2.0-136

[Updates-ambari-2.4.2.0]
name=ambari-2.4.2.0 - Updates
baseurl=http://192.168.0.201:8000/ambari/centos7/
gpgcheck=0
#gpgkey=http://public-repo-1.hortonworks.com/ambari/centos7/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

##注意以上的baseurl是網頁上能訪問到的那麼目錄,如下圖:

image_1cbed6inmtjmmhi13gilnq1ok11g.png-34.1kB

##同樣的道理
vim /etc/yum.repos.d/hdp.repo
##輸入一下內容
#VERSION_NUMBER=2.6.0.0-1245
[HDP-2.6.0.0]
name=HDP Version - HDP-2.6.0.0
baseurl=http://192.168.0.201:8000/HDP/centos7/
gpgcheck=0
#gpgkey=http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.5.0.0/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

[HDP-UTILS-1.1.0.21]
name=HDP-UTILS Version - HDP-UTILS-1.1.0.21
baseurl=http://192.168.0.201:8000/HDP-UTILS/
gpgcheck=0
#gpgkey=http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.5.0.0/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

##然後
yum makecache

如果沒有報錯,那麼恭喜你,所有本地源配置完成!
image_1cbedejhl3rh1c9a1plo1qhq1mj1t.png-35.4kB

  • 為了部落,也為了一次成功還需要配置的有
    : *需要關閉python的sll認證

         vim /etc/python/cert-verification.cfg
    

    微信圖片_20180419154810.png-8.5kB
    注意該操作需要在所有節點執行

: *需要在mysql中建立ambari資料庫。

2、開始安裝

1、安裝ambari

以上配置全部配置完成之後,重啟所有節點。重啟之後不要忘記開啟web服務。

yum -y install ambari-server
ambari-server setup
Customize user account for ambari-server daemon [y/n] (n)? [y]
Enter user account for ambari-server daemon (root):[直接回車]
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]
Path to JAVA_HOME: [/opt/jdk]
Configuring database...
Enter advanced database configuration [y/n] (n)? [y]
==============================================================================
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):[root]
Enter Database Password (bigdata):[root]
WARNING: Before starting Ambari Server, you must copy the MySQL JDBC driver JAR file to /usr/share/java and set property "server.jdbc.driver.path=[path/to/custom_jdbc_driver]" in ambari.properties.
Press <enter> to continue.

注意:做到此步驟時,需要將mysql的jdbc jar包複製到/usr/share/java,並且在/etc/ambari-server/conf/ambari.properties中新增,如下:

server.jdbc.driver.path=/usr/share/java/mysql-connector-java-5.1.23.jar

然後繼續

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)? 

##/var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
##這說明我們需要去mysql中使用該檔案建立表。
mysql -uroot -p

mysql> use ambari;
Database changed
mysql> source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql;
##匯入完成之後,返回繼續安裝
##輸入[y]
Adjusting ambari-server permissions and ownership...
Ambari Server 'setup' completed successfully.
##出現以上,表示設定成功。
##啟動ambari
ambari-server start
Ambari Server 'start' completed successfully.[出現後表示成功啟動]

2、開始安裝叢集

上面我們已經安裝好的ambari,所以我們現在開始安裝HDP
image_1cbg8ch22aq916p81rc51ni25129.png-65.5kB

點選Launch Install Wizard按鈕。進入如下介面:
image_1cbg8ho2siuk1khg1iv91l2vsnbm.png-52.1kB

Name your cluster中輸入你想要的叢集名稱,然後點選Next進入下一步;
image_1cbg8r7ko1oue17n48oiabjiog13.png-76.7kB

這裡必須選擇Use Local Repository使用本地源,而我們選擇使用HDP2.6來安裝叢集。
image_1cbg93b4ucsii9f186f3c211gp1g.png-50.9kB

而,我們到了這一步,需要特別注意,要正確書寫源地址,如果沒有正確書寫會發生錯誤。如果一切都書寫完畢,點選Next按鈕進入下一步:
image_1cbg9ig81hce1njd1ej5e854be2a.png-81.8kB
在該步驟中,我們需要明確書寫要安裝的節點HostName也就是我在圖中花框的地方hdp[01-03],還有一個框,id_rsa來源自節點hdp01生成的ssh金鑰。所有都書寫完畢後,點選Register and Confirm進入下一步。
image_1cbg9mfvp5dd17o11p6i1qfp92v2n.png-63.9kB
很順利的所有節點安裝成功,點選Next進入下一步:
image_1cbg9o2ae1ngrf8ej8v1bgt6gr34.png-49.4kB
該步主要是選擇需要安裝的服務。我這裡安裝了:
HDFSYARN + MapReduce2 Tez Hive HBase Pig…太多了,不寫了。選擇完成之後,點選Next按鈕進入下一步。
下一步和下下一步的操作就不多介紹了,直接進入配置篇:
image_1cbgajj5317ed1uh11sg4187m1c283h.png-58.2kB
在配置這步驟中,會有很多需要我們手動配置的地方。這裡著重說一下Hive那裡,Hive我們都知道是需要配置元資料庫的,所以我們這裡這樣選擇:
image_1cbgaomk81ejdgo212h51km31ub3u.png-55.6kB
選擇Existing MySQL / MariaDB Database表示使用已經存在的Mysql或者MariaDB。之後輸入hive資料庫名,這裡我們需要建立hive資料庫,書寫使用者名稱密碼。在shell中這樣操作:

##登陸資料庫
mysql> create database hive;
##退出資料庫
ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java-5.1.23.jar

然後修改Database URL連結為hdp01,點選Test Connection按鈕,看是否能連結成功。
image_1cbgb0jorggp15npjcr1p121bj34b.png-4.6kB

連結成功後,將其他需要設定的點都設定完成,點選Next按鈕,開始安裝服務。
image_1cbgbqu7h7gd17jl74aan41jeh4o.png-58.3kB

image_1cbgbrrcgc7m1d1n11oqmlv18ta55.png-41kB

等待安裝完成!(這是一個漫長的等待過程~~~~)
image_1cbgemire23614101tjsfqs19an72.png-43.1kB
我們看到,開啟服務失敗,不要擔心,只是服務沒有啟動而已。我們點選Complete按鈕,完成安裝。
image_1cbgeojksesdhjheng1k18d57f.png-125.8kB

我們發現了好多警告,沒關係,點選Actions->Start All按鈕,開啟所有服務,稍等片刻,即可看到服務啟動成功。
image_1cbgi95cc140qhbb110cnlf1bc67s.png-136.7kB

OK!平臺安裝完畢~