基于Ambari快速部署Hadoop
大数据集环境研究
胡必波彭梅刘晓娟
广州T商学院
摘要:Hadoop大数据实验环境搭建的复杂性已经成为很多分布式应用初学者或者大数据的业务应用开发者学习和 研究大数据技术一道很难跨越的门槛Ambari是一种支持Hadoop集部署、监控和管理的开源T.具,通 过安装向导来进行集的搭建.简化了集供应本文提出基于Ambari快速部署Hadoop大数据集各组 件的实践方法,重点阐述快速部署的若干要点、重要步骤以及管理使用技巧实践证明,相对于以往传统 手T.部署,该方法极大提高了 Hadoop集部署的效率及成功率,有效降低大数据学习门槛,提高学习效率 和效果,解决Hadoop大数据课程实践教学环境难的问题
关键词:Ambari;Hadoop;HDP;大数据;快速部署
0引言
大数据实验环境的搭建涉及Linux系统、虚拟机软件、JDK、Hadoop、Spark、HBase、Hive等多种幵源软
件的安装,安装过程涉及大量配置,不易快速集成和维护,给Hadoop平 台的实践课程教学带来了很大的挑战广州T商学院虽然引 入厂青软QST大数据“云桌面”解决方案,学生在本地终端 通过校园网连接到QST大数据服务器,中央服务器为其分配 一个虚拟机,学生在虚拟机上完成各种实验操作:但这种方 案受限于校园局域网络,而且机房统一上机的时间相对有限,不能很好地满足教师和学生课后学习实践大数据时的需求,仍 然需要构建单机实验环境进行线下辅助教学本文通过实践探 索,利用Ambari快速部署Hadoop集环境,简化了集供应,只需要一台物理计算机就可以开展集部署、监控和管理等 实验,既方便教学,又贴近实际生产应用环境
1VMware与 Ambari
虚拟化技术是指通过虚拟化软件VMM在一台计算机上 模拟出一个或多个虚拟化环境虚拟化常见的类型有:系统 虚拟化、服务器虚拟化、桌面虚拟化、存储虚拟化、网络虚 拟化以及应用虚拟化等,其中,系统虚拟化是指使用VMware Workstation等虚拟化软件在物理汁算机上虚拟出一个逻辑操作 系统(虚拟机)来安装和使用另一个操作系统及其应用程序,互不影响使用
Apache Ambari 是一种基于W eb 的 T.具,支持 Apache Hadoop集的安装、部署、配置和管理,支持包括HDFS、MapReduce、Hive、Pig、HBase、Zookeeper、Sqoop等大多数Hadoop组件Ambari从集节点和服务收集大量信息,并将 其表现为容易使用的、集中化的接口,如Ambari Web、Restful API
等;Ambari Web显示诸如服务特定的摘要、图表以及警报 信息可通过Ambari Web对Hadoop集进行创建、管理、监视、添加主机、更新服务配置等;也可以利用Ambari Web执行集 管理任务,例如,启用Kerberos安全以及执行Stack升级
任何用户都可以查看Ambari Web特性拥有administrator角的用户比operator或view-only的用户能访问的选项更多
例如,Ambari administrator可以管理集安全,一个operator 用户可以监控集,而view-only用户只能访问系统管理员已 授予的必要权限:
Ambari自身也是一个分布式架构的软件,主要由两部 分组成:Ambari Server 和 Ambari Agent Ambari Server从整 个集中收集信息每个主机丨:都有Ambari Agent,Am bari Server通过Ambari Agent控制每个主机简单来说,用户通过 Am bari Server通知Ambari Agent安装对应的软件;Agent会定 时发送各个机器中每个软件模块的状态给Ambari Server,最 终这些状态信息会呈现在Ambari的GU丨,方便用户了解到集 的各种状态,并进行相应的维护Ambari Server架构如丨冬丨1所示。
942021.04 I
闭各节点的firewalld 、iptables、selinux  #服务。此外,还应关
闭THP ,否则Hadoop 的系统CPU 使用率很高操作系统后 台的khugepaged 进程会一直扫描所有进程占用的内存,在可
能的情况下,会把4k  page 交换为Huge  P a g e s 在该过程中, 对于操作中内存的各种分配活动都需要各种内存锁,直接影响 程序的内存访问性能,且该过程对于应用是透明的,在应用 层面不可控制,对于专门为4k  page 优化的程序来说,可能会
造成随机性能下降。同时,建议最大打开文件描述符数为10 〇〇〇或更多。
(3) 配置同步时钟。集中的各节点需要安装并启动
mp 服务,以保证集时间的一致。在各节点安装mp 服务后,
设置master 为主服务器开启nptd 服务,各子节点slavel 、
slave 2、slave 3设置同步在master 开启ntp 服务器以后,其
余子节点就不需要开启,如果发现NTP 启动之后时间并不同 步,可直接使用定时手动同步的方式。
(4)
配置SSH 无密码登陆。由于部署过程中,配置
master 节点无密码登录到其他节点,可通过复制master 节点. ssh /id _rsa . pub 至其他节点的.ssh/authorized  _ keys 文件中实现
在通过测试是否实现了无密码登录后,可将创建的秘钥拷贝 出来,因为后面ambari 安装时需要上传该秘钥创建秘钥是 在隐藏文件夹/root /.ssh /下面的,所以,需要先把秘钥拷贝到 可见区域,然后拷贝到电脑上。只需保证master 免密到其他 节点(包含自身),不需要互通。
(5)
制作本地源。在master 需要先安装httpd 服务并设
置为开机启动,然后在/var /www /html 根目录下新建ambari 目 录,开启FTP 服务后,将前面下载的am bari  2.6.0+ HDP  2.6.3+
HDP-UTILS  1.1.0这3个包拷贝到该目录下,再进行解压缩操
作,并通过 http ://l 92.168.137.140/am bari / 查看访问 master  是
否能成功访问。在master 安装本地源制作相关T .具后,修改
文件里面的源地址,将其拷贝到/etC /yum .rep 〇s .d /,最后拷贝分 发到各子节点 slavel 、slave 2、slave 3
(6 )安装am bari -s e r v e r 执行相关命令完成am bari  -Server 、ambari-agent  安装 am bari  -Server  有两种安装模式可 供选择,一种是默认postgresql 数据库的安装方式,但不推荐 在生产环境中使用;还有一种方式是使用MySQL 等第三方 数据库安装方式。若采用第三方数据库形式,需要在master  主机先安装配置好MySQL  MySQL 安装成功后,需要通过
mysql -connection -java.jar  包建立 MySQL  与 ambari-server  的连接,
并在MySQL 数据库创建ambari 数据库及数据库的用户名和密 码、创建hive 数据库及hive 库的用户名和密码、创建oozie 数 据库及oozie 库的用户名和密码:
2021.04
9 5
Ambari Server (Ambari 服务)
I  Ittp://ambari-scrvcr:8080
namcnode namcnodc
Ambari Agent
Slave 1
Slave2
SlaveN
datanodc datanodc datanodc
图 1 Ambari  Server  架构2 Hadoop 集部署
2.1部署节点规划
本文以4台节点为例,来组建Hadoop 分布式集,系统 版本采用的是Linux 发行版CentOS 7 ( 64位)。根据如表1 所示的资源配置来组建大数据基础平台
表1 Hadoop 集主机规划
主机名 (FQDN )
内存
硬盘
ip 地址
m aster .hadoop 8 G B
100G B
192.168.137.140
A m b a ri-S e rv e r
A m b a ri-A g e n t
slave  1. hadoop 4 G B 60 G B 192.168.137.141A m b a ri-A g e n t
slave 2.hadoop 4 G B
60 G B
192.168.137.142
A m b a ri-A g e n t
slave 3.hadoop
4 G B 60 G B 192.168.137.143A m b a ri-A g e n t
2.2环境准备
(1 )下载安装包。通过ambari 安装需要下载下面的5个 主要包:am bari -2.6.1.5+HDP -2.6.4.(HHDP -UTILS -1.1.0.22+HDP -
GPL -2.6.4.0+JDK 1.8+MySQL 5.6,所有的安装包加起来共约9 G ,建议从下载软件包,然后上传到服务器,通过配置
本地源的方式来实现离线安装_ HDP 是hortonworks 的软件 栈,包含了 hadoop 生态系统的所有软件项
目,比如HBase 、
Zookeeper 、Hive , Pig 等,HDP-UTILS  是工具类库。
(2)关闭服务。为了方便集节点的互相通信,应先关
数据作
Ambari Agent
跳连接
集P o o
D A ,
跳连
3部署与管理Hadoop 集
3.1部署Hadoop 集
执行 “ambari-server  start ”
命令,
登录
http ://192.168.137.140/8080,在“用户名”的文本框中输入
“admin ”,在“密码”的文本框中输入“admin ”,可进入
Ambari 管理界面:
在“选择安装栈”时,指定安装源HDP 和HDP-UTILS  的位置:指定相应的目标主机并选择手动注册主机,选择所需 要安装的服务。本文需要安装HDFS 、YARN +MapReduce 2、
Zookeeper , Ambari  Metrics 、Hive 、HBase 、Mahout 、Sqoop 、 Spark 等服务:在整个过程需要设置G rafana  Admin 和Hive 的
密码:
3.2管理H adoop 集
单击页面导航栏的“主界面”按钮,在主界面可以查看 集状态和监控信息;单击页面导航栏的“主界面”按钮, 在主界面可以查看集状态和监控信息,如图2所示。至此, 大数据基础平台已经部署完毕了。
Ambari 的用户图形界面非常有助于平台管理员去管理维
护和监控Hadoop 集在Hadoop 集部署完成后,打开部
图2 Ambari 平台主界面
署Ambari  Server 主机的8080端口。默认的管理员用户名为
admin ,密码为a d m in 登录后进入Ambari 管理的Hadoop 集
主界面。该界面形象展示了集服务的运行状态、资源使 用状况、配置参数以及错误告警等。
(1 )服务管理。在页面左侧的服务列表中,可以选中任 何一个想要操作的服务。以HDFS 为例,选择HDFS 的“概要” 选项卡,显示HDFS 运行的进程信息,包括运行状态、资源 使用情况以及监控信息
(2)主机管理。单击页面导航栏中“主机”按钮, 打开Ambari 所管理的主机列表。进入其中一台主机中(如
master ),可以看到,该主机中所有进程的运行状态、主机资
源使用情况、主机的1P 地址、资源械等信息。
(3)
进程管理。每个服务都由相应的进程组成,如
HDFS  服务,包含了 NameNode 、SNameNode、DateNode  等
进程进入master 节点中,到需要进行管理的进程,如
NameNode ,该进程后面有个“Started ’按钮,表7K 该进程正
hadoop分布式集搭建在运行中,单击该按钮可以改变进程的运行状态,如“重启”“停 止” “移动”“打开维护模式” “均衡HDFS ”等。如图3所示。
(4)
配置管理。Ambari 管理工具可以很方便地修改配
置文件,并应用到集的每一台主机中,尤其是当集中主
96
2021.04
I
机的数量非常多时:例如,需要修改集HDFS文件系统,Block的复制因子(Block replication)为2,手动部署集的情况下,则要修改每一台主机的 l配置文件。如果一个集有几十台或者几百台主机,工作量将非常大。而Ambari集管理工具则可以很好地应对,由集中的Ambari Server向每台主机中白勺Ambari Agent发送相关的心跳 信息,由此更新每台主机中的配置文件。如图4所示。
图3主机管理界面
HDFS Maximum 21600 seconds fl O C Checkpoint Delay
Access time precision 0
巳lock rep丨nation
图4配置管理界面
4结束语
传统的手动安装、修改配置文件搭建hadoop平台的方法,虽然能大致了解hadoop基本的部署过程,但是实际生产过 程中不可能采用这种全手工的方法,后续还涉及安装HBase/ Hive/Spark/Storm之类的上层应用,以及管理监控平台,过程 相对繁琐。本文利用优秀的分布式集管理工具Ambari部署 工具来构建大数据平台并对集进行管理的方法,实现了自 动化部署+管理监控,大大提高部署Hadoop集的效率及成 功率,适用于在高校教学环境以及大规模Hadoop节点部署场景中使用,但也存在稳定性差、部署的宿主机内存要求较高、屏蔽很多细节、难以对Hadoop生态圈各组件的深人理解等缺 点。因此,也不能完全摒弃传统方法,而是将其作为自动化 方法的补充,读者可以根据实际情况选用。
基金项目:2019年度广州工商学院科研课题“基于Hadoop 平台的大数据挖掘研究”(KA201928)
(收稿日期:2020-12-02;责任编辑:赵明亮、王莹)
V^S'S li I2021.04 9
7

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。