基於Apache Ambari搭建Hadoop大資料平臺
基於Apache Ambari搭建Hadoop大資料平臺
作者:雨水/家輝 日期:2017年2月28日 CSDN部落格:http://blog.csdn.net/gobitan
摘要:對於大資料的初學者來說,搭建一個Hadoop大資料基礎平臺不是一件容易的事。而由Hortonworks貢獻給Apache開源社群的Ambari則提供了搭建整個Hadoop生態的一站式服務。本文以測試環境為例,詳細介紹了整個HDP的搭建過程。
全文共分為三個部分,第一部分是Ambari的準備部分;第二部分為安裝Ambari;第三部分為基於Ambari-server安裝Hadoop及其生態元件。
第一部分:
第一步:基礎叢集主機規劃
[1] ambari 192.168.81.128
[2] namenode 192.168.81.129
[3] hadoop01 192.168.81.130
[4] hadoop02 192.168.81.131
CentOS作業系統安裝
第一步:下載VMware Player,並安裝。
具體過程略。
第二步:下載CentOS7,並在VMware Player上安裝
[1] 下載CentOS7
CentOS有幾個版本,DVD版本太大了(大約4G多),包括圖形介面,這裡作為伺服器工作沒有必要,因此選擇Minimal版本。下載地址:http://mirrors.163.com/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1611.iso。Minimal版本大約680M。
[2] 基於VMware Player安裝
建立一個新的虛擬機器,選擇從iso安裝,然後依次輸入:
全名:centos7_64,使用者名稱:dennis,密碼:123456,虛擬機器名字也為centos7_64,硬碟大小預設20G。建立好之後,修改下虛擬機器的配置:記憶體改為2048MB,處理器核心數量改為:2,其他保持預設即可,然後開始安裝。
第三步:作業系統配置
注意:以下操作如果沒有特別說明,均預設以root身份執行。
[1] 安裝net-tools
Miminal版本果然是小,連ifconfig命令都沒有安裝。執行如下安裝ifconfig:
# yum search ifconfig
根據查到的安裝包來安裝
# yum install -y net-tools.x86_64
[2] NTP安裝
# yum install -y ntp
[3] 修改檔案控制程式碼數
在/etc/security/limits.conf的末尾增加如下兩行:
* hard nofile 50000
* soft nofile 50000
[4] 關閉虛擬機器,然後將虛擬機器拷貝三份
[5] 依次啟動這四臺虛擬機器,修改虛擬機器的hostname和hosts
(1) 分別將/etc/hostname中的內容改為ambari, namenode, hadoop01和hadoop02;
(2) 分別在/etc/hosts檔案的後面加入如下內容:
192.168.81.128 ambari
192.168.81.129 namenode
192.168.81.130 hadoop01
192.168.81.131 hadoop02
hostname和hosts改完之後,統一把所有機器重啟一遍!讓配置生效!
第四步:配置Ambari Server到Ambari Agent的單向免密碼登陸
在Ambari Server節點執行如下命令:
ssh-keygen -t rsa 回車後再按連續三個回車
cd .ssh/
cat id_rsa.pub >> authorized_keys
分別在其他三臺機器上建立/root/.ssh目錄,如下:
# mkdir /root/.ssh
然後將authorized_keys拷貝到其他三臺機器的.ssh目錄,如下:
scp authorized_keys NameNode:/root/.ssh/
scp authorized_keys Hadoop01:/root/.ssh/
scp authorized_keys Hadoop02:/root/.ssh/
驗證配置:
[root@ambari ~]# ssh Ambari date; ssh NameNode date; ssh Hadoop01 date; ssh Hadoop02 date;
Tue Feb 28 03:26:26 PST 2017
Tue Feb 28 03:26:26 PST 2017
Tue Feb 28 03:26:26 PST 2017
Tue Feb 28 03:26:26 PST 2017
第五步:安裝nginx
# rpm -Uvh
http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
# yum install -y nginx
# mkdir -p /var/www/html
# chcon -Rt httpd_sys_content_t /var/www/html/
修改/etc/nginx/conf.d/default.conf內容如下:
server {
listen 8190;
server_name 192.168.65.130;
location / {
root /var/www/html;
index index.html index.htm;
}
}
# 關閉selinux
將/etc/selinux/config中的SELINUX值改為disabled,儲存重啟作業系統。
注:因為是測試環境,建議將其他三臺機器的selinux都關閉了,這樣減少很多因為埠未開放導致的問題。生產環境另當別論,可參考selinux的相關操作。
# 拷貝預設主頁
# cp /usr/share/nginx/html/index.html /var/www/html/
# 啟動nginx
# service nginx start
# 設定nginx開機自啟動
# systemctl enable nginx.service
檢查nginx是否配置正確,訪問如下地址:
http://192.168.81.128:8190
第六步:搭建Ambari本地源
從公共yum源安裝太慢了,因此需要搭建私有yum源來安裝。Ambari此為當前(2017-02-24)最新版本為2.4.2。具體版本可以參考:
如果要選擇其他版本,可以從這裡進入http://docs.hortonworks.com/index.html,然後進行選擇。
安裝createrepo
[1] yum install -y createrepo
配置Ambari源
因為ambari-2.4.2.0-centos7.tar.gz這個檔案有1.29G,因此建議用迅雷下載,然後傳到CentOS上。
備註:如果要下載其他版本,可參看《Hortonworks Data Platform: Apache Ambari Installation》
[3] 解壓ambari-2.4.2.0-centos7.tar.gz
將該檔案移到/var/www/html/目錄下,然後解壓
# tar zxf ambari-2.4.2.0-centos7.tar.gz
# mv AMBARI-2.4.2.0/ ambari
[4] 建立repo
# createrepo /var/www/html/ambari/
配置HDP源
[1] wget http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.5.3.0/HDP-2.5.3.0-centos7-rpm.tar.gz
檔案4.99G,同上,建議用迅雷下載。
[2] 解壓
# tar zxf HDP-2.5.3.0-centos7-rpm.tar.gz
[3] # createrepo /var/www/html/HDP/
配置HDP-UTILS 源
檔案745M,同上,建議用迅雷下載。
[2] 解壓
# tar zxf HDP-UTILS-1.1.0.21-centos7.tar.gz
[3] # mv HDP-UTILS-1.1.0.21/ HDP-UTILS
# createrepo /var/www/html/HDP-UTILS/
編寫repo檔案
ambari.repo如下:
[ambari-2.4.2]
name=ambari-2.4.2
baseurl=http://192.168.81.128:8190/ambari
gpgcheck=0
HDP.repo如下:
[HDP-2.5.3]
name=HDP-2.5.3
baseurl=http://192.168.81.128:8190/HDP /centos7
gpgcheck=0
HDP-UTILS.repo如下:
[HDP-UTILS-1.1.0.21]
name=HDP-UTILS-1.1.0.21
baseurl=http://192.168.81.128:8190/HDP-UTILS /repos/centos7
gpgcheck=0
檢查repo的配置是否正確
# yum repolist
repo id repo name status
HDP-2.5.3 HDP-2.5.3 200
HDP-UTILS-1.1.0.21 HDP-UTILS-1.1.0.21 52
ambari-2.4.2 ambari-2.4.2 12
status不為零即可。
將repo拷貝到其他三臺機器
scp ambari.repo NameNode:/etc/yum.repos.d/
scp HDP.repo NameNode:/etc/yum.repos.d/
scp HDP-UTILS.repo NameNode:/etc/yum.repos.d/
scp ambari.repo Hadoop01:/etc/yum.repos.d/
scp HDP.repo Hadoop01:/etc/yum.repos.d/
scp HDP-UTILS.repo Hadoop01:/etc/yum.repos.d/
scp ambari.repo Hadoop02:/etc/yum.repos.d/
scp HDP.repo Hadoop02:/etc/yum.repos.d/
scp HDP-UTILS.repo Hadoop02:/etc/yum.repos.d/
可將上面命令放入一個shell檔案中,一次執行!
Ambari私有庫配置完成!
第二部分:安裝Ambari Server
第一步:安裝ambari-server
注:登陸到Ambari主機!
[1] # yum -y install ambari-server
[2] 上傳jce_policy-8.zip和jdk-8u112-linux-x64.tar.gz
下載jce_policy-8.zip和jdk-8u112-linux-x64.tar.gz,將其上傳到/var/lib/ambari-server/resources
由於接下來的ambari-server setup中要安裝jdk,從網上下載太慢,而直接放到resource目錄沒有識別出來。因此,這裡先手動安裝好,然後指定路徑。
安裝jdk三步:先解壓到/opt目錄,再在/etc/profile中加入
export JAVA_HOME=/opt/jdk1.8.0_112
export PATH=$PATH:$JAVA_HOME/bin
儲存後再執行. /etc/profice讓其生效。
[3] 配置Ambari-server
# ambari-server setup -j
中間有詢問,全部輸入y,有輸入全部採用預設。
資料使用者名稱和密碼:ambari/bigdata
注意:這一步有問題,採用的是Custom安裝,jce沒有用到
[4] 配置postgresql自啟動
chkconfig --level 35 postgresql on
[5] 啟動ambari-server
[root@Ambari ~]# ambari-server start
Using python /usr/bin/python
Starting ambari-server
Ambari Server running with administrator privileges.
Organizing resource files at /var/lib/ambari-server/resources...
Ambari database consistency check started...
No errors were found.
Ambari database consistency check finished
Server PID at: /var/run/ambari-server/ambari-server.pid
Server out at: /var/log/ambari-server/ambari-server.out
Server log at: /var/log/ambari-server/ambari-server.log
Waiting for server start....................
Ambari Server 'start' completed successfully.
[6] 檢查狀態
[root@Ambari ~]# ambari-server status
Using python /usr/bin/python
Ambari-server status
Ambari Server running
Found Ambari Server PID: 7913 at: /var/run/ambari-server/ambari-server.pid
[root@Ambari ~]# lsof -i:8080
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 7913 dennis 1423u IPv6 61236 0t0 TCP *:webcache (LISTEN)
[root@Ambari ~]#
[7] 網頁登陸ambari-server
http://192.168.81.128:8080,使用者名稱和密碼都是admin
=====================Ambari-server搭建完成,下面開始在介面上安裝Hadoop叢集!
第三部分:在Ambari-server上安裝Hadoop叢集生態
登陸http://192.168.81.128:8080,然後點選"Launch Install Wizard"開始安裝!
第一步:叢集名字:dbigdata
第二步:版本選擇:全部選擇最新的,當前為HDP2.5,然後選擇本地源中的redhat7。填寫Base URL分別為:
http://192.168.81.128:8190/HDP/centos7
http://192.168.81.128:8190/HDP-UTILS/repos/centos7
第三步:安裝選項
[1] 輸入主機名:
NameNode
Hadoop01
Hadoop02
[2] 將私鑰ida_rsa上傳,這個是在做ssh免登陸那一步中生成的。
第四步:主機註冊
這一步如果註冊是失敗,可以點開看看具體原因(如下面可能的原因)。有時候會出現一些莫名其妙的錯誤,這時可以重試幾次。
註冊過程如果發現有issues,則需要點開,然後一一解決,如下面發現的問題:
[1] jdk需要在每臺機器上都有,同樣的位置;
[2] 需要將另外三臺的防火牆關了:service firewalld stop
[3] 另外三臺的ntp未執行: service ntpd start
[4] 檢查這三臺機子上/etc/yum.repos.d下的repo中的URL是否正確
第五步:選擇服務
安裝元件的選擇:
未選擇安裝的部分:
Falcon 0.10.0.2.5 Data management and processing platform
Storm 1.0.1.2.5 Apache Hadoop Stream processing framework
Flume 1.5.2.2.5 A distributed service for collecting, aggregating, and moving large amounts of streaming data into HDFS
Accumulo 1.7.0.2.5 Robust, scalable, high performance distributed key/value store.
Atlas 0.7.0.2.5 Atlas Metadata and Governance platform
Knox 0.9.0.2.5 Provides a single point of authentication and access for Apache Hadoop services in a cluster
Zeppelin Notebook 0.6.0.2.5 A web-based notebook that enables interactive data analytics. It enables you to make beautiful data-driven, interactive and collaborative documents with SQL, Scala and more.
第六步:分配節點
第七步:Master和Slave選擇
推薦DataNode和Client都安裝。
Hive Metastore資料庫的密碼:123456,MySQL資料庫(hadoop02)
Ambari Metrics: Grafana Admin Password: 123456
Smart Sense: 密碼:123456
Hive->Tez Container Size: 170M-->512M
系統提示Oozie使用Derby會導致某些功能無法使用,因此要使用MySQL。
https://dev.mysql.com/downloads/connector/j/ 下載mysql-connector-java-5.1.40.zip,解壓後可獲得mysql-connector-java-5.1.40-bin.jar,上傳至Ambari節點的/opt目錄下,然後執行如下命令:
ambari-server setup --jdbc-db=mysql --jdbc-driver=/opt/mysql-connector-java-5.1.40-bin.jar
注意:以下操作在Hadoop01(也就是Oozie Server所在節點)上執行!
因為執行yum install mysql預設安裝的是mariadb,它是MySQL的一個分支。
乾脆採用如下安裝:
[1] 安裝:yum install mariadb mariadb-server
[2] 啟動:service mariadb start
[3] 配置開機啟動:systemctl enable mariadb
[4] 安全配置:mysql_secure_installation
初次執行時,密碼為空,可直接回車。設定root密碼為:123456,其他預設。
參考:http://www.linuxidc.com/Linux/2016-03/128880.htm CentOS 7.0 使用 yum 安裝 MariaDB 與 MariaDB 的簡單配置
然後進入MySQL,執行如下命令:
# mysql -uroot -p123456
MariaDB [(none)]>
CREATE USER 'oozie'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'%';
FLUSH PRIVILEGES;
CREATE DATABASE oozie;
這些都建立好之後,需要測試下資料庫的連線性。成功之後即可進入下一步!
然後就進入漫長地安裝等待。。。,如果有失敗的,多嘗試幾次!
安裝成功後,登陸:http://192.168.81.128:8080/,使用者名稱和密碼都是admin。
參考資料:
[1] 《Hortonworks Data Platform: Apache Ambari Installation》
[2] http://www.ibm.com/developerworks/cn/opensource/os-cn-bigdata-ambari/ Ambari——大資料平臺的搭建利器
相關文章
- 大資料平臺Hadoop叢集搭建大資料Hadoop
- 大資料平臺基礎架構hadoop安全分析大資料架構Hadoop
- 使用Ambari快速部署Hadoop大資料環境Hadoop大資料
- 大資料平臺CDH搭建大資料
- 大資料平臺搭建(1)大資料
- 大資料治理——搭建大資料探索平臺大資料
- 基於Hadoop的大資料平臺實施——整體架構設計Hadoop大資料架構
- hadoop大資料平臺安全基礎知識入門Hadoop大資料
- 基於Apache Hudi在Google雲構建資料湖平臺ApacheGo
- 怎樣搭建大資料平臺大資料
- 大資料和Hadoop平臺介紹大資料Hadoop
- Hadoop大資料平臺之HBase部署Hadoop大資料
- Hadoop大資料平臺之Kafka部署Hadoop大資料Kafka
- 大資料平臺是什麼?有哪些功能?如何搭建大資料平臺?大資料
- Hadoop大資料平臺有何優勢?Hadoop大資料
- Apache DolphinScheduler + OceanBase,搭建分散式大資料排程平臺的實踐Apache分散式大資料
- 大資料分析平臺搭建方式有哪些大資料
- 七牛雲:基於Go開發的大資料平臺Go大資料
- 智慧警務大資料平臺開發,資料視覺化分析平臺搭建大資料視覺化
- 企業為何需要搭建大資料平臺大資料
- 大資料分析平臺的搭建方式有哪些大資料
- 從0到1搭建DeltaLake大資料平臺大資料
- 基於大資料的重點人員管控系統平臺的搭建與實現大資料
- Ambari部署HadoopHadoop
- B站基於Apache DolphinScheduler的一站式大資料叢集管理平臺(BMR)初窺Apache大資料
- 如何挑選合適的大資料或Hadoop平臺?大資料Hadoop
- 長安汽車基於 Apache Doris 的車聯網資料分析平臺建設實踐Apache
- 什麼情況下需要搭建大資料平臺大資料
- 大資料7.1 - hadoop叢集搭建大資料Hadoop
- Caravel資料勘探平臺搭建
- 資料分析平臺搭建指南
- 基於nginx-rtmp搭建點播平臺Nginx
- GoldenGate實時投遞資料到大資料平臺(7)– Apache HbaseGo大資料Apache
- GoldenGate實時投遞資料到大資料平臺(3)- Apache FlumeGo大資料Apache
- 在海之舟大資料平臺上搭建mysql+php開發平臺大資料MySqlPHP
- 1.搭建Hadoop實驗平臺Hadoop
- 智慧公安情報研判大資料系統分析平臺搭建大資料
- CDH5大資料實驗平臺搭建筆記H5大資料筆記