從頭開始系列(一)—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確認環境
- 三臺伺服器的HostName,以及/etc/hosts是否符合
表一
描述。 - 安裝ambari時,需要關閉Linux的Selinux,故需要修改
/etc/selinux/config
修改為selinux=disabled - 因為我們是叢集環境,故需要明確確定時間問題導致的服務啟動失敗,解決辦法有:
1、安裝ntp服務(如果大家叢集環境可以聯網,可以試著配置一下
2、使用xshell功能,設定一個相同的時間(我採用該方式
) - 需要生成
ssh金鑰
,並且主節點需要和從節點免密登陸
三次回車後,會出現:ssh-keygen -t rsa
然後,使用
ssh-copy-id [email protected]
ssh-copy-id [email protected]
OK
- 需要關閉防火牆
以上必要的環境我們已經搭建完成。
1.2安裝必要軟體包
準備好了所有安裝包
- 安裝JDK
tar zxvf jdk-8u161-linux-x64.tar.gz mv jdk1.8.0_161/ /opt/jdk ##修改環境變數 vim /etc/profile
source /etc/profile java javac
如果java,javac有指令返回,說明環境變數配置成功
至此,jdk安裝完成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/
- 安裝MySql或者MaraiDB
[需要在主節點安裝,本次安裝使用MaraiDB]
^mysql - 安裝web環境
為什麼需要安裝web環境,因為我們需要通過repo的方式獲取安裝檔案,而我們下載了離線安裝包,所以需要配置相關的repo檔案。有很多種方式,但是我們這裡直接使用Python自帶的一個簡單工具來開啟##因為我們是在/root/目錄下,所以我們需要在/root/HDP目錄下啟動該命令 python -m SimpleHTTPServer
- 解壓所有相關檔案到指定資料夾下
##因為我們是在/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
最終的目錄應該如上所示。
我們訪問http://192.168.0.201:8000會發現如下介面:
這和上面的目錄是一一對應的。
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
這樣表明已經掛著成功
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是網頁上能訪問到的那麼目錄,如下圖:
##同樣的道理
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
如果沒有報錯,那麼恭喜你,所有本地源配置完成!
為了部落,也為了一次成功還需要配置的有
: *需要關閉python的sll認證vim /etc/python/cert-verification.cfg
注意
該操作需要在所有節點執行
: *需要在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
點選Launch Install Wizard
按鈕。進入如下介面:
在Name your cluster
中輸入你想要的叢集名稱,然後點選Next
進入下一步;
這裡必須選擇Use Local Repository
使用本地源,而我們選擇使用HDP2.6來安裝叢集。
而,我們到了這一步,需要特別注意,要正確書寫源地址,如果沒有正確書寫會發生錯誤。如果一切都書寫完畢,點選Next
按鈕進入下一步:
在該步驟中,我們需要明確書寫要安裝的節點HostName
也就是我在圖中花框的地方hdp[01-03]
,還有一個框,id_rsa
來源自節點hdp01生成的ssh金鑰。所有都書寫完畢後,點選Register and Confirm
進入下一步。
很順利的所有節點安裝成功,點選Next
進入下一步:
該步主要是選擇需要安裝的服務。我這裡安裝了:HDFS
YARN + MapReduce2
Tez
Hive
HBase
Pig
…太多了,不寫了。選擇完成之後,點選Next
按鈕進入下一步。
下一步和下下一步的操作就不多介紹了,直接進入配置篇:
在配置這步驟中,會有很多需要我們手動配置的地方。這裡著重說一下Hive那裡,Hive我們都知道是需要配置元資料庫的,所以我們這裡這樣選擇:
選擇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
按鈕,看是否能連結成功。
連結成功後,將其他需要設定的點都設定完成,點選Next
按鈕,開始安裝服務。
等待安裝完成!(這是一個漫長的等待過程~~~~)
我們看到,開啟服務失敗,不要擔心,只是服務沒有啟動而已。我們點選Complete
按鈕,完成安裝。
我們發現了好多警告,沒關係,點選Actions
->Start All
按鈕,開啟所有服務,稍等片刻,即可看到服務啟動成功。
OK!平臺安裝完畢~