基于Ambari快速部署Hadoop大数据集群环境研究

2021-05-20 07:03胡必波刘晓娟广州工商学院
江苏通信 2021年2期
关键词:进程虚拟化密码

胡必波 彭 梅 刘晓娟广州工商学院

0 引言

大数据实验环境的搭建涉及Linux系统、虚拟机软件、JDK、Hadoop、Spark、HBase、Hive等多种开源软件的安装,安装过程涉及大量配置,不易快速集成和维护,给Hadoop平台的实践课程教学带来了很大的挑战。广州工商学院虽然引入了青软QST大数据“云桌面”解决方案,学生在本地终端通过校园网连接到QST大数据服务器,中央服务器为其分配一个虚拟机,学生在虚拟机上完成各种实验操作。但这种方案受限于校园局域网络,而且机房统一上机的时间相对有限,不能很好地满足教师和学生课后学习实践大数据时的需求,仍然需要构建单机实验环境进行线下辅助教学。本文通过实践探索,利用Ambari快速部署Hadoop集群环境,简化了集群供应,只需要一台物理计算机就可以开展集群部署、监控和管理等实验,既方便教学,又贴近实际生产应用环境。

1 VMware与Ambari

虚拟化技术是指通过虚拟化软件VMM在一台计算机上模拟出一个或多个虚拟化环境。虚拟化常见的类型有:系统虚拟化、服务器虚拟化、桌面虚拟化、存储虚拟化、网络虚拟化以及应用虚拟化等,其中,系统虚拟化是指使用VMware Workstation等虚拟化软件在物理计算机上虚拟出一个逻辑操作系统(虚拟机)来安装和使用另一个操作系统及其应用程序,互不影响使用。

Apache Ambari是一种基于Web的工具,支持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,Ambari Server通过Ambari Agent控制每个主机。简单来说,用户通过Ambari Server通知Ambari Agent安装对应的软件;Agent会定时发送各个机器中每个软件模块的状态给Ambari Server,最终这些状态信息会呈现在Ambari的GUI,方便用户了解到集群的各种状态,并进行相应的维护。Ambari Server架构如图1所示。

图1 Ambari Server架构

2 Hadoop集群部署

2.1 部署节点规划

本文以4台节点为例,来组建Hadoop分布式集群,系统版本采用的是Linux发行版 CentOS7(64位)。根据如表1所示的资源配置来组建大数据基础平台。

表1 Hadoop集群主机规划

2.2 环境准备

(1)下载安装包。通过ambari安装需要下载下面的5个主要包:ambari-2.6.1.5+HDP-2.6.4.0+HDP-UTILS-1.1.0.22+HDPGPL-2.6.4.0+JDK1.8+MySQL5.6,所有的安装包加起来共约9 G,建议从官网下载软件包,然后上传到服务器,通过配置本地源的方式来实现离线安装。HDP是hortonworks的软件栈,包含了hadoop生态系统的所有软件项目,比如HBase、Zookeeper、Hive、Pig等,HDP-UTILS是工具类库。

(2)关闭服务。为了方便集群节点的互相通信,应先关闭各节点的firewalld、iptables、selinux等服务。此外,还应关闭THP,否则Hadoop的系统CPU使用率很高。操作系统后台的khugepaged进程会一直扫描所有进程占用的内存,在可能的情况下,会把4k page交换为Huge Pages。在该过程中,对于操作中内存的各种分配活动都需要各种内存锁,直接影响程序的内存访问性能,且该过程对于应用是透明的,在应用层面不可控制,对于专门为4k page优化的程序来说,可能会造成随机性能下降。同时,建议最大打开文件描述符数为10000或更多。

(3)配置同步时钟。集群中的各节点需要安装并启动ntp服务,以保证集群时间的一致。在各节点安装ntp服务后,设置master为主服务器开启nptd服务,各子节点slave1、slave2、slave3设置同步。在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服务后,将前面下载的ambari 2.6.0+ HDP 2.6.3+ HDP-UTILS 1.1.0这3个包拷贝到该目录下,再进行解压缩操作,并通过http∶//192.168.137.140/ambari/查看访问master是否能成功访问。在master安装本地源制作相关工具后,修改文件里面的源地址,将其拷贝到/etc/yum.repos.d/,最后拷贝分发到各子节点slave1、slave2、slave3。

(6)安装ambari-server。执行相关命令完成ambari -Server、ambari-agent安装。ambari -Server有两种安装模式可供选择,一种是默认postgresql数据库的安装方式,但不推荐在生产环境中使用;还有一种方式是使用MySQL等第三方数据库安装方式。若采用第三方数据库形式,需要在master主机先安装配置好MySQL。MySQL安装成功后,需要通过mysql-connection-java.jar包建立MySQL与ambari-server的连接,并在MySQL数据库创建ambari数据库及数据库的用户名和密码、创建hive数据库及hive库的用户名和密码、创建oozie数据库及oozie库的用户名和密码。

3 部署与管理Hadoop集群

3.1 部署Hadoop集群

执 行“ambari-server start” 命 令, 登 录http∶//192.168.137.140/8080,在“用户名”的文本框中输入“admin”,在“密码”的文本框中输入“admin”,可进入Ambari管理界面。

在“选择安装栈”时,指定安装源HDP和HDP -UTILS的位置。指定相应的目标主机并选择手动注册主机,选择所需要安装的服务。本文需要安装HDFS、YARN+MapReduce2、Zookeeper、Ambari Metrics、Hive、HBase、Mahout、Sqoop、Spark等服务。在整个过程需要设置Grafana Admin和Hive的密码。

3.2 管理Hadoop 集群

单击页面导航栏的“主界面”按钮,在主界面可以查看集群状态和监控信息;单击页面导航栏的“主界面”按钮,在主界面可以查看集群状态和监控信息,如图2所示。至此,大数据基础平台已经部署完毕了。

图2 Ambari平台主界面

Ambari的用户图形界面非常有助于平台管理员去管理维护和监控Hadoop集群。在Hadoop集群部署完成后,打开部署Ambari Server主机的8080端口。默认的管理员用户名为admin,密码为admin。登录后进入Ambari管理的Hadoop集群主界面。该界面形象展示了集群服务的运行状态、资源使用状况、配置参数以及错误告警等。

(1)服务管理。在页面左侧的服务列表中,可以选中任何一个想要操作的服务。以HDFS为例,选择HDFS的“概要”选项卡,显示HDFS运行的进程信息,包括运行状态、资源使用情况以及监控信息。

(2)主机管理。单击页面导航栏中“主机”按钮,打开Ambari所管理的主机列表。进入其中一台主机中(如master),可以看到,该主机中所有进程的运行状态、主机资源使用情况、主机的IP地址、资源械等信息。

(3)进程管理。每个服务都由相应的进程组成,如HDFS服务,包含了NameNode、SNameNode、DateNode等进程。进入master节点中,找到需要进行管理的进程,如NameNode,该进程后面有个“Started”按钮,表示该进程正在运行中,单击该按钮可以改变进程的运行状态,如“重启”“停止”“移动”“打开维护模式”“均衡HDFS”等。如图3所示。

(4)配置管理。Ambari管理工具可以很方便地修改配置文件,并应用到集群的每一台主机中,尤其是当集群中主机的数量非常多时。例如,需要修改集群HDFS文件系统,Block的复制因子(Block replication)为2,手动部署集群的情况下,则要修改每一台主机的hdfs-site.xml配置文件。如果一个集群有几十台或者几百台主机,工作量将非常大。而Ambari集群管理工具则可以很好地应对,由集群中的Ambari Server向每台主机中的Ambari Agent发送相关的心跳信息,由此更新每台主机中的配置文件。如图4所示。

图3 主机管理界面

图4 配置管理界面

4 结束语

传统的手动安装、修改配置文件搭建hadoop平台的方法,虽然能大致了解hadoop基本的部署过程,但是实际生产过程中不可能采用这种全手工的方法,后续还涉及安装HBase/Hive/Spark/Storm之类的上层应用,以及管理监控平台,过程相对繁琐。本文利用优秀的分布式集群管理工具Ambari部署工具来构建大数据平台并对集群进行管理的方法,实现了自动化部署+管理监控,大大提高部署Hadoop集群的效率及成功率,适用于在高校教学环境以及大规模Hadoop节点部署场景中使用,但也存在稳定性差、部署的宿主机内存要求较高、屏蔽很多细节、难以对Hadoop生态圈各组件的深入理解等缺点。因此,也不能完全摒弃传统方法,而是将其作为自动化方法的补充,读者可以根据实际情况选用。

猜你喜欢
进程虚拟化密码
密码里的爱
债券市场对外开放的进程与展望
改革开放进程中的国际收支统计
基于OpenStack虚拟化网络管理平台的设计与实现
密码抗倭立奇功
对基于Docker的虚拟化技术的几点探讨
H3C CAS 云计算管理平台上虚拟化安全防护的实现
密码藏在何处
存储虚拟化还有优势吗?
夺命密码