天天看點

Ambari叢集部署全流程

Apache Ambari是一個基于Web的支援Apache Hadoop叢集的供應、管理和監控的開源工具,Ambari已支援大多數Hadoop元件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeeper、Sqoop和Hcatalog等。提供Web UI進行可視化的叢集管理,簡化了大資料平台的安裝、使用難度。

伺服器資源目錄

Ambari叢集部署全流程

1.2 賦予hadoop使用者sudo權限

編輯 etc/sudoers檔案

visudo

Ambari叢集部署全流程
Ambari叢集部署全流程
Ambari叢集部署全流程
Ambari叢集部署全流程
Ambari叢集部署全流程
Ambari叢集部署全流程

3.2 HDP安裝部署到apache

通過FTP上傳RPM安裝包到伺服器上

移動安裝包到 /var/www/html/目錄下

sudo mv ambari-2.7.4.0-centos7.tar.gz /var/www/html/

sudo mv HDP-3.1.4.0-centos7-rpm.tar.gz /var/www/html/

sudo mv HDP-GPL-3.1.4.0-centos7-gpl.tar.gz /var/www/html/

sudo mv HDP-UTILS-1.1.0.22-centos7.tar.gz /var/www/html/
解壓縮
sudo tar -zxvf ambari-2.7.4.0-centos7.tar.gz
sudo tar -zxvf HDP-3.1.4.0-centos7-rpm.tar.gz
sudo tar -zxvf HDP-GPL-3.1.4.0-centos7-gpl.tar.gz
sudo tar -zxvf HDP-UTILS-1.1.0.22-centos7.tar.gz
移除壓縮包
sudo rm -rf ambari-2.7.4.0-centos7.tar.gz
sudo rm -rf HDP-3.1.4.0-centos7-rpm.tar.gz
sudo rm -rf HDP-GPL-3.1.4.0-centos7-gpl.tar.gz
sudo rm -rf HDP-UTILS-1.1.0.22-centos7.tar.gz
更改目錄權限
sudo chmod -R ugo+rX /var/www/html/
3.3 配置本地yum源
#進入如下目錄
cd /etc/yum.repos.d/
#建立ambari.repo檔案 & 寫入如下# #包括的内容
sudo vi ambari.repo
#倉庫名字
[ambari-repo]
#yum 源描述
name=ambari
#指向yum源位址
baseurl=http://ambari-01/ambari/centos7/2.7.4.0-118/
#關閉下載下傳RPM的jpg校驗
gpgcheck=0
#組可用
enabled=1
#檢視yum源配置是否生效 & 看到紅框内容則成功
yum repolist
Ambari叢集部署全流程
4 安裝MySQL
#安裝mysql的yum倉庫
sudo wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
#安裝mysql(必須進入到 /etc/yum.repos.d/目錄後再執行以下腳本)
yum install mysql-server
#設定開機啟動
sudo systemctl enable mysqld
#啟動MySQL
sudo systemctl start mysqld
#檢視MySQL的啟動狀态
sudo systemctl status mysqld
#檢視root臨時密碼(臨時密碼每次都是随機生成的) (&fZPOuLl19i
sudo grep 'temporary password' /var/log/mysqld.log
#使用臨時密碼登入
mysql -uroot -p
MySQL常用密碼參數
set global validate_password_policy=0;
set global validate_password_mixed_case_count=0;
set global validate_password_number_count=3;
set global validate_password_special_char_count=0;
set global validate_password_length=3;
修改密碼('root'@'%' -- 允許遠端連接配接)
GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY 'PWD@123456' WITH GRANT OPTION;
ALTER USER 'root'@'%' IDENTIFIED BY 'PWD@123456';
退出MySQL
Exit
上傳驅動包mysql-connector-java-8.0.18.jar 到伺服器/usr/share/java目錄
sudo mkdir -p /usr/share/java
5、部署AmbariServer
5.1 安裝AmbariServer
sudo yum -y install ambari-server
5.2 建立AmbariServer的資料庫資源
#登入MySQL
mysql -uroot -pPWD@123456
#執行如下指令 建立ambari使用者并授權
create database ambari;
CREATE USER 'ambari'@'%' IDENTIFIED BY 'bigdata';
GRANT ALL ON ambari.* TO 'ambari'@'%';
FLUSH PRIVILEGES;
#執行腳本
use ambari;
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql;
#退出
exit;
5.3 配置AmbariServer
#配置
sudo ambari-server setup
#使用預設賬戶 root 輸入 n Customize user account for ambari-server daemon y/n?
n
Ambari叢集部署全流程
Ambari叢集部署全流程
Ambari叢集部署全流程
6、Ambari部署核心技術元件
6.1 啟動Ambari
#啟動AmbariServer
sudo ambari-server start
如果出現錯誤,一定要檢視日志:vi /var/log/ambari-server/ambari-server.log
遇到的錯誤:不能啟動服務“REASON: Server not yet listening on http port 8080 after 50 seconds.Exiting.”
原因:由于本地的公網 ip改變或者不穩定導緻的連結不上。
解決:修改/etc/hosts,将 hostname公網 IP映射改為内網映射。
浏覽器webui通路
http://192.168.186.164:8080/
賬戶: admin
密碼: admin
常見問題:Ambari啟動正常,沒有錯誤日志,但是通過 無法通路Ambari。
原因:
1.防火牆沒有關閉(檢視防火牆:sudo systemctl status firewalld)
2.雲服務8080端口沒有對外開放
解決:
1.關閉防火牆:sudo systemctl stop firewalld
2.開放伺服器8080端口
6.2 叢集部署
1、啟動安裝向導
Ambari叢集部署全流程
Ambari叢集部署全流程
Ambari叢集部署全流程
Ambari叢集部署全流程
Ambari叢集部署全流程
Ambari叢集部署全流程
選擇要安裝的服務
Amabri管大資料的各個元件叫做 Service,在這一步要選擇同時安裝的服務,當然我們也可以先不選後面再選。在這裡我們選擇安裝下 Hadoop相關的服務,其餘的服務就取消掉對話框的對勾(它預設選了一堆,一定要去掉,好多用不到),如下圖所示:
在這裡要特别注意,在 Ambari裡 Hadoop被當做多個服務例如 HDFS、YARN等,如果你選擇
的服務依賴于其他服務他會提示的,你點選确認後會自動勾選,然後下一步即可
Ambari叢集部署全流程
Ambari叢集部署全流程
Ambari叢集部署全流程
Ambari叢集部署全流程
點選下一步,會讓我們确認其他的配置,我們保持預設直接點 NEXT:
注意,這裡随着你前面選擇的 service的不同會有很大差異,比如你要選擇了 Hive,它一定會要你輸入 MySQL相關資訊,是以不要死記硬背。
如果 ADVANCED爆紅,說 ssl.client.keystore.password密碼不比對,這裡面預設設定密碼為 admin即可。
Ambari叢集部署全流程
配置ambari-01 ambari-02 ambari-03
添加hadoop 使用者 賦予sudo權限
# 配置hostname
# 關閉SELinux、關閉防火牆
# 生成私鑰公鑰
# 配置免密登入 我們所謂的免密就是拿叢集中的一台機器作為管理節點,然後讓他可以 ssh免密碼到其他節 點執行指令,這對我們維護一個多節點的叢集非常有意義。我們當然以 ambari-01為管理節點, 是以要實作 ambari-01到其他節點的免密。 拿到 ambari-01的公鑰: 把 ambari-01的公鑰添加到 ambari02和 ambari-03的~/.ssh/authorized_keys檔案中 然後 ambari-01到 ambari-02、ambari-03分别連接配接一次: ssh ambari-02 ssh ambari-03 如果第一次需要輸入 yes第二次不需要則 ssh免密就做好了,注意我們隻做了 ambari-01到其他節點的 ssh免密。
時鐘同步 安裝Chrony
ambari-01 Chrony Server
ambari-02 Chrony Client
ambari-03 Chrony Client
安裝 chrony
sudo yum -y install chrony
1、服務狀态:
#啟動chrony服務
systemctl start chronyd.service
#設定開機同步時間
systemctl enable chronyd.service
#檢視服務狀态
systemctl status chronyd.service
#直接關閉防火牆
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall開機啟動
#不關閉防火牆、但允許NTP服務
#因NTP使用123/UDP端口協定,是以允許NTP服務即可
firewall-cmd --add-service=ntp --permanent
firewall-cmd --reload
1、服務端配置
#配置檔案修改
vi /etc/chrony.conf
#注釋掉以下四行(避免去外部 chrony-server同步時間)
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
#新增配置 指定chrony-server為 ambari-01
server 127.127.1.1 iburst
#Allow NTP client access from local network,配置允許通路的用戶端清單,支援CIDR,例如:
allow 192.168.0.0/16
#Serve time even if not synchronized to any NTP server.,打開注釋即可,即:
local stratum 10
#重新開機下服務端chrony服務
systemctl restart chronyd.service
2、用戶端配置
vim /etc/chrony.conf
#修改server即可,删掉其他的,添加要同步時間的源伺服器ip,格式如下:server ambari-01 iburst
server x.x.x.x iburst
#重新開機下用戶端chrony服務
#用戶端使用
chronyc sources -v
Ambari叢集部署全流程
Ambari叢集部署全流程
Ambari叢集部署全流程
Ambari叢集部署全流程
Ambari叢集部署全流程
Ambari叢集部署全流程
Ambari叢集部署全流程
下一篇: DHCP服務