前言
本篇文章其内容主要阐述Ambari 是什么,已经它的主要结构是什么,为我们后面的搭建使用做好理论准备。其次说明一下版本的选择、环境的介绍、集群节点的规划,最后做一些安装前的准备工作。
一 简单了解 ambari
1.1 什么是 ambari
Apache Ambari项目旨在通过开发用于提供、管理和监视Apache Hadoop集群的软件,简化Hadoop管理。Ambari提供了基于RESTful api的直观、易用的Hadoop管理web UI。
- 提供一个Hadoop集群
Ambari提供了一个分步向导,用于跨任意数量的主机安装Hadoop服务。
Ambari为集群处理Hadoop服务的配置。
- 管理Hadoop集群
Ambari在整个集群中为启动、停止和重新配置Hadoop服务提供中央管理。
- 监视Hadoop集群
Ambari提供了一个仪表板,用于监视Hadoop集群的运行状况和状态。
Ambari利用Ambari度量系统进行度量收集。
Ambari利用Ambari警报框架进行系统警报,并在需要注意时通知您(例如,一个节点宕机、剩余磁盘空间不 足等)。
通过Ambari REST api,可以轻松地将Hadoop的供应、管理和监控功能集成到自己的应用程序中。
Ambari 自身也是一个分布式架构的软件,主要由两部分组成:Ambari Server 和 Ambari Agent。简单来说,用户通过 Ambari Server 通知 Ambari Agent 安装对应的软件;Agent 会定时地发送各个机器每个软件模块的状态给 Ambari Server,最终这些状态信息会呈现在 Ambari 的 GUI,方便用户了解到集群的各种状态,并进行相应的维护。
1.2 什么是HDP
HDP是hortonworks的软件栈,里面包含了hadoop生态系统的所有软件项目,比如HBase,Zookeeper,Hive,Pig等等。
1.3 HDP-UTILS
二 ambari 相关环境说明
2.1 ambari 版本的介绍
目前为止最新的版本是2.7.5 ,当然按照惯例,我们一般都会选择稳定版本或者说次新版本。其实2.7.5确实存在很多明显的bug。所以我选择了2.7.4的这个版本。
最后还是根据自己的需要时选择对应的版本:https://supportmatrix.hortonworks.com/
2.2 机器环境介绍
环境 | 版本 |
---|---|
Linux | Centos7 docker |
Ambari | 2.7.4 |
HDP | 3.1.4 |
HDP-UTILS | 1.1.0.2 |
MySQL | 5.7 |
OracleJDK8 | jdk1.8.0_241 |
httpd | Apache/2.4.6 (CentOS) |
2.3 离线安装包下载地址
Ambari在线安装特别慢,所以使用离线安装,建议使用迅雷下载
JDK 的下载我就不说了,大家的版本都不同自行选择。最好跟我的一直,这样少改动很多地方。
2.4 集群节点规划
这里我要提醒下,我这个是用docker 安装在一台机器上,因此所谓的16G 内存 100G硬盘都是共享的。
节点名称 | 局域网ip地址 | 服务 | 内存 | 硬盘 |
---|---|---|---|---|
master(主节点) | 172.33.0.2 | Ambari/HDP Ambari Server MariaDB /MySql | 16G | 100G |
slave1(子节点) | 172.33.0.3 | Compute node | 16G | 100G |
slave2(子节点) | 172.33.0.4 | Compute node | 16G | 100G |
三 环境准备
我前面有提到 我们需要提前下载离线包(用迅雷),然后我们依据下好的离线包构建自己的本地源,即web服务。
注意:因为网路的原因,即使使用迅雷,也不一定很快。这里我把需要的文件和包都上传到百度云盘了,这样可以加速大家的下载。
链接: https://pan.baidu.com/s/1yxHRz_0lJsSgp9DIDctR5w 密码: fgcv
3.1 下载离线包
3.2 centos7 构建 httpd web服务
这个大家可以用自己熟悉的 Tomcat、Jetty、Node、Nginx 都可以,我就简单操作使用了httpd 起一个web服务
3.2.1 安装 配置 httpd
#1.安装服务
yum -y install httpd
#2.启动软件服务
systemctl start httpd
#3.停止软件服务
#systemctl stop httpd
#4.设置开机自启动
systemctl enable httpd
# 查看状态
systemctl status httpd.service
3.2.2 上传文件到指定目录
默认目录是: /var/www/html/ ,在此目录下新建一个目录:
mkdir -p /var/www/html/ambari
然后上传自己的包到/var/www/html/ambari 目录下
#1.进入目录
cd /var/www/html/ambari
#2.解压ambari包
tar -zxvf ambari-2.7.4.0-centos7.tar.gz
#3.解压HDP包
tar -zxvf HDP-3.1.4.0-centos7-rpm.tar.gz
#4.新增一个HDP-UTILS包
mkdir HDP-UTILS
#5.解压HDP-UTILS工具包到HDP-UTILS
tar -zxvf HDP-UTILS-1.1.0.22-centos7.tar.gz -C HDP-UTILS
#6.删除压缩包(我得硬盘不足了)
rm -rf ambari--2.7.4.0-centos7.tar.gz HDP-2.6.3.0-centos7-rpm.tar.gz HDP-UTILS-1.1.0.22-centos7.tar.gz
#7.查看效果
ls
3.2.3 验证Web服务
3.3 docker run httpd
考虑到很多人机器上没有虚拟机,那么我这边也安利另一个方式启动httpd服务
3.3.1 制作docker-compose.yml 文件
vi docker-compose.yml
version: '3'
services:
httpd:
image: httpd
restart: always
container_name: httpd
privileged: true
volumes:
- /Users/hezhaoming/Documents/docker/httpd/htdocs:/usr/local/apache2/htdocs
- /Users/hezhaoming/Documents/docker/httpd/conf:/usr/local/apache2/conf
- /Users/hezhaoming/Documents/docker/httpd/logs/:/usr/local/apache2/logs/
ports:
- 80:80
3.3.2 创建文件目录
mkdir -p /Users/hezhaoming/Documents/docker/httpd/htdocs
mkdir -p /Users/hezhaoming/Documents/docker/httpd/conf
mkdir -p /Users/hezhaoming/Documents/docker/httpd/logs
3.3.3 启动服务
docker-compose up -d
3.3.4 验证服务
已知文件
可以访问html
可以下载文件
四 编写本地源文件
4.1 编写 ambari.repo
vi ambari.repo
#VERSION_NUMBER=2.7.4.0-118
[ambari-2.7.4.0]
#json.url = http://public-repo-1.hortonworks.com/HDP/hdp_urlinfo.json
name=ambari Version - ambari-2.7.4.0
baseurl=http://192.168.44.200/ambari/ambari/centos7/2.7.4.0-118/
gpgcheck=1
gpgkey=http://192.168.44.200/ambari/ambari/centos7/2.7.4.0-118//RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
4.2 编写 HDP.repo
vi HDP.repo
#VERSION_NUMBER=3.1.4.0-315
[HDP-3.1.4.0]
name=HDP Version - HDP-3.1.4.0
baseurl=http://192.168.44.200/ambari/HDP/centos7/3.1.4.0-315
gpgcheck=1
gpgkey=http://192.168.44.200/ambari/HDP/centos7/3.1.4.0-315/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
4.3 编写 HDP-UTILS.repo
vi HDP-UTILS.repo
[HDP-UTILS-1.1.0.22]
name=HDP-UTILS Version - HDP-UTILS-1.1.0.22
baseurl=http://192.168.44.200/ambari/HDP-UTILS/HDP-UTILS/centos7/1.1.0.22
gpgcheck=1
gpgkey=http://192.168.44.200/ambari/HDP-UTILS/HDP-UTILS/centos7/1.1.0.22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
4.4 存放位置
总结
本章节比较简单,主要是了解ambari,然后顺便构建了个本地源的服务器,为后面做准备。