Ambari簡(jiǎn)介
1.Ambari基本介紹
- Ambari是是 Apache Software Foundation
中的一個(gè)項(xiàng)目,并且是頂級(jí)項(xiàng)目,是一種基于Web的工具,支持Apache Hadoop集群的供應(yīng)、管理和監(jiān)控 - Ambari已支持大多數(shù)Hadoop組件,包括HDFS、MapReduce、Hive、Pig、Hbase、Zookeeper、Sqoop和Hcatalog等。支持HDFS、MapReduce、Hive、Pig、Hbase、Zookeepr、Sqoop和Hcatalog等的集中管理。也是5個(gè)頂級(jí)hadoop管理工具之一。
- 官方鏈接:Ambari官網(wǎng)
- 需對(duì)hadoop生態(tài)圈的各個(gè)組件以及環(huán)境配置,參數(shù)有一定的知識(shí),才建議使用ambari搭建
2.Ambari安裝準(zhǔn)備工作
2.1虛擬機(jī)準(zhǔn)備工作
- 安裝好 Centos 7.2, jdk-8u91, mysql5.7.13
- 準(zhǔn)備好ambari-2.7.4.0-centos7.tar.gz,HDP-3.1.4.0-centos7-rpm.tar.gz,HDP-GPL-3.1.4.0-centos7-gpl.tar.gz,HDP-UTILS-1.1.0.22-centos7.tar.gz相關(guān)安裝包
- 主節(jié)點(diǎn):master(92.168.238.1)
- 從節(jié)點(diǎn):node1(192.168.238.2),node2(192.168.238.3)
- 確保所有節(jié)點(diǎn)時(shí)間同步;
- 確保所有節(jié)點(diǎn)(master,node1,node2)能互相通信以及能訪問(wèn)外網(wǎng)
2.1.1 資源下載
| 鏡像 | 下載地址 |
|---|---|
| jdk-8u162-linux-x64 | https://download.csdn.net/download/qq_44697847/16840098 |
| mysql | https://www.mysql.com/downloads/ |
| ambari-2.7.4.0-centos7.tar.gz | https://download.csdn.net/download/qq_44697847/16845882 |
| HDP-3.1.4.0-centos7-rpm.tar.gz | https://download.csdn.net/download/qq_44697847/16846206 |
| HDP-GPL-3.1.4.0-centos7-gpl.tar.gz | https://download.csdn.net/download/qq_44697847/16846358 |
| HDP-UTILS-1.1.0.22-centos7.tar.gz | https://download.csdn.net/download/qq_44697847/16846735 |
| Vmware | https://www.vmware.com |
| xshell+xfdp | https://download.csdn.net/download/qq_44697847/16839001 |
| CentOS-7-x86_64 | https://download.csdn.net/download/qq_44697847/16838216 |
2.1.2 虛擬機(jī)安裝
| 主機(jī) | 名稱 | 系統(tǒng) | IP地址 | 內(nèi)存 | 磁盤 |
|---|---|---|---|---|---|
| Centos1 | Master | Centos7 | 192.168.238.1(NAT) | 4G | 60G |
| Centos2 | Node1 | Centos7 | 192.168.238.2(NAT) | 2G | 60G |
| Centos3 | Node2 | Centos7 | 192.168.238.3(NAT) | 2G | 60G |
2.1.3 修改節(jié)點(diǎn)主機(jī)名字
hostnamectl set-hostname master #master節(jié)點(diǎn)-192.168.238.1
hostnamectl set-hostname node1 #node1節(jié)點(diǎn)-192.168.238.2
hostnamectl set-hostname node2 #node2節(jié)點(diǎn)-192.168.238.3
2.1.4配置主機(jī)名到IP的映射關(guān)系
需要在master node1 node2 三個(gè)節(jié)點(diǎn)上的hosts文件上都進(jìn)行以下操作!
vi /etc/hosts
#添加上以下內(nèi)容
192.168.238.1 master
192.168.238.2 node1
192.168.238.3 node2
2.1.5防火墻配置
在后續(xù)的操作中,需要將防火墻關(guān)閉。所有節(jié)點(diǎn)都需要進(jìn)行以下操作
systemctl status firewalld #查看firewall服務(wù)狀態(tài)
systemctl stop firewalld && systemctl disable firewalld # 關(guān)閉防火墻
2.1.6關(guān)閉selinux
# 關(guān)閉selinux
setenforce 0
vi /etc/selinux/config
SELINUX=disabled
2.2JDK安裝
2.1.1JDK安裝(當(dāng)前安裝全部在master節(jié)點(diǎn)上)
現(xiàn)將JDK包放到相應(yīng)目錄下之后解壓/etc/lib/jvm下面
#保證當(dāng)前目錄下存在 jdk-8u162-linux-x64.tar.gz
mkdir -p /usr/lib/jvm
tar -zxvf jdk-8u162-linux-x64.tar.gz -C /usr/lib/jvm
# 配置環(huán)境變量
vi /etc/profile
export JAVA_HOME=/opt/jdk1.8.0_171/
export PATH=$PATH:$JAVA_HOME/bin
#刷新環(huán)境變量
source /ect/profile
2.1.2配置免密登錄(所有節(jié)點(diǎn))
# master
ssh-keygen
ssh-copy-id master
ssh-copy-id node1
ssh-copy-id node2
# node1
ssh-keygen
ssh-copy-id master
ssh-copy-id node1
ssh-copy-id node2
# node2
ssh-keygen
ssh-copy-id master
ssh-copy-id node1
ssh-copy-id node2
2.1.3將master配置好的jdk發(fā)送到node1 node2上面
注意:需要提前在node1 ,node2上創(chuàng)建jvm文件夾,保證 /usr/lib/jvm/路徑存在
也可以手動(dòng)在node1 node2兩個(gè)節(jié)點(diǎn)上重復(fù)以上步驟安裝jdk
scp -r /usr/lib/jvm/ node1:/usr/lib/jvm/
scp -r /usr/lib/jvm/ node2:/usr/lib/jvm/
scp /etc/profile/ node1:/usr/lib/jvm/
scp /etc/profile/ node2:/usr/lib/jvm/
最后不要忘記在node1 node2上執(zhí)行下列代碼 使環(huán)境變量生效
source /ect/profile
#分別在master node1 node2上面輸入java -version檢查是否安裝成功
java -version
2.3安裝時(shí)間同步服務(wù)ntp
#安裝master
yum install -y ntp
#修改ntp.conf
vi /etc/ntp.conf
server 127.127.1.0
fudge 127.127.1.0 stratum 10
systemctl start ntpd
systemctl enbale ntpd
#node1
yum install -y ntpdate
ntpdate master
#node2
yum install -y ntpdate
ntpdate master
2.4 安裝Apache Http服務(wù)器
yum install -y httpd
yum start httpd
yum enable http
2.5 關(guān)閉大頁(yè)面壓縮(所有節(jié)點(diǎn))
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
2.5 配置yum源(只在master配置)
在/var/www/html 下面創(chuàng)建 ambari,hdp,hdp_util ,hdp_gpl三個(gè)文件夾
這里推薦使用xfdp將之惡幾個(gè)文件放入到虛擬節(jié)點(diǎn)上面。
再將 ambari-2.7.4.0-centos7.tar.gz,HDP-3.1.4.0-centos7-rpm.tar.gz,HDP-UTILS-1.1.0.22-centos7.tar.gz ,HDP-GPL-3.1.4.0-centos7-gpl.tar.gz 放入到 /var/www/html路徑下
tar -zxvf ambari-2.7.0.0-centos7.tar.gz -C /var/www/html/ambari/
tar -zxvf HDP-3.0.0.0-centos7-rpm.tar.gz -C /var/www/html/hdp
tar -zxvf HDP-UTILS-1.1.0.22-centos7.tar.gz -C /var/www/html/hdp_util/
tar -zxvf HDP-GPL-3.1.4.0-centos7-gpl.tar.gz -C /var/www/html/hdp_gpl
這里我們對(duì)yum源進(jìn)行配置
cd /etc/yum.repos.d
vi ambari.repo
[ambari]
name=ambari
baseurl=http://192.168.238.1/ambari/ambari/centos7/2.7.4.0-897/
gpgcheck=0
注意文件中的baseurl是你自己電腦的實(shí)際位置,你可查看解壓之后的文件位置,查看里買呢目錄,這里推薦使用xfdp去查看
vi hdp.repo
[HDP-3.1]
name=HDP-3.1
baseurl=http://192.168.238.1/hdp/HDP/centos7/3.1.4.0-315/
gpgcheck=0
[HDP-UTILS-1.1.0.22]
name=HDP-UTILS-1.1.0.22
baseurl=http://192.168.238.1/hdp-utils/HDP-UTILS/centos7/1.1.0.22/
gpgcheck=0
[HDP-3.1-GPL]
name=HDP-3.1-GPL
baseurl=http://192.168.238.1/hdp-gpl/HDP-GPL/centos7/3.1.4.0-315/
gpgcheck=0
# 驗(yàn)證
yum repolist
成功之后將配置的yum源發(fā)送給node1與node2
#成功之后將配置的yum源發(fā)送給node1
scp /etc/yum.repos.d/ambari.repo node1:/etc/yum.repos.d/
scp /etc/yum.repos.d/hdp.repo node2:/etc/yum.repos.d/
#將配置的yum源發(fā)送給node2
scp /etc/yum.repos.d/ambari.repo node1:/etc/yum.repos.d/
scp /etc/yum.repos.d/hdp.repo node2:/etc/yum.repos.d/
瀏覽器輸入 http://192.168.238.1/ambari/
http://192.168.238.1/ambari/
2.6 數(shù)據(jù)庫(kù)安裝(master上安裝)
數(shù)據(jù)庫(kù)使用MariaDB作為元數(shù)據(jù)儲(chǔ)存的庫(kù),在master上安裝
# 安裝
yum install -y mariadb-server
# 啟動(dòng) 開機(jī)自啟
systemctl start mariadb && systemctl enable mariadb
# 初始化
mysql_secure_installation
在初始化過(guò)程中,我們需要對(duì)數(shù)據(jù)進(jìn)行配置一下是配置選項(xiàng)
Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] n
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
3 安裝配置ambari-server
yum install -y ambari-server
3.1配置數(shù)據(jù)庫(kù)
#登陸
mysql -uroot -proot
# 創(chuàng)建amabri數(shù)據(jù)庫(kù)
create database ambari;
#授權(quán)
grant all on ambari.* to ambari@'%' identified by '數(shù)據(jù)庫(kù)密碼';
grant all on ambari.* to ambari@localhost identified by '數(shù)據(jù)庫(kù)密碼';
# 使用ambari-server提供的sql腳本創(chuàng)建相關(guān)的表
use ambari;
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
3.2將JDBC驅(qū)動(dòng)包復(fù)制到指定目錄(/usr/share/java)
下載連接:java/mysql-connector-java.jar
mkdir -p /usr/share/java
mv mysql-connector-java-*.jar /usr/share/java/mysql-connector-java.jar
3.3安裝ambari-server
ambari-server setup
配置信息
OK to continue [y/n] (y)? y
Customize user account for ambari-server daemon [y/n] (n)? y
Checking JDK...
[1] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8
[2] Custom JDK
==============================================================================
Enter choice (1): 2
Enable Ambari Server to download and install GPL Licensed LZO packages [y/n] (n)? n
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):master
Port (3306): 3306
#后面的幾個(gè)問(wèn)題直接按 enter鍵
#啟動(dòng)ambari-server
ambari-server start
3.4 安裝和配置ambari-agent(所有節(jié)點(diǎn))
# 安裝
yum install -y ambari-agent
# 配置
vi /etc/ambari-agent/conf/ambari-agent.ini
[server]
hostname=master
#啟動(dòng)
ambari-agent start
3.5安裝成功訪問(wèn)
http://192.168.238.3:8080
出現(xiàn)登錄界面,默認(rèn)管理員賬戶登錄,賬戶:admin 密碼:admin
ambari的安裝到這就結(jié)束了,但是這只是一個(gè)安裝,后續(xù)可以更具你自己的需要,來(lái)使用ambari的web頁(yè)面去安裝一下組件,筆記hpd ,hbase, hive等等