APP下载

企业级Hadoop平台实现的相关技术

2016-03-24狄晓娇

中国新通信 2016年4期

狄晓娇

【摘要】 近些年,Hadoop———一个由Apache基金会开发的开源的分布式系统基础架构被提出,用于应对处理企业中指数级增长的数据。借助于 Hadoop, 程序员可以在不了解分布式低层细节的情况下,充分利用集群的威力进行高速运算和存储。本文主要论述了企业级Hadoop平台的搭建使用的相关技术,是本平台用到的技术进行了一个详细的介绍。

【关键词】 Hadoop平台 资源监控 安全认证机制 集群自动化部署 Ganglia

一、背景和意义

现今,我们的生活中已经被大量的数据所包围。指数级增长的数据已经给一些企业带来了巨大的挑战为此,Hadoop———一个由Apache基金会开发的开源的分布式系统基础架构被提出来了。由于Hadoop的特性,现在买差不多的机器,搭建一个Hadoop集群就可以了。

二、集群概述

集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。集群技术是一种通用的技术,其目的是为了解决单机运算能力的不足、IO能力的不足、提高服务的可靠性、获得规模可扩展能力,降低整体方案的运维成本(运行、升级、维护成本)。集群有高扩展性,高可用性,高性能,高性价比等优点。而集群计算机按功能和结构可以分成以下几类:1、高可用性集群;2、负载均衡集群 ;3、高性能计算集群 ;4、网格计算 。

负载均衡集群负载均衡集群运行时,一般通过一个或者多个前端负载均衡器,将工作负载分发到后端的一组服务器上,从而达到整个系统的高性能和高可用性。这样的计算机集群有时也被称为服务器群(Server Farm)。 一般高可用性集群和负载均衡集群会使用类似的技术,或同时具有高可用性与负载均衡的特点。

三、Hadoop结构介绍

Hadoop 有许多元素构成。其最底部是 Hadoop Distributed File System(HDFS),它存储 Hadoop 集群中所有存储节点上的文件。HDFS(对于本文)的上一层是 MapReduce 引擎,该引擎由 JobTrackers 和 TaskTrackers 组成。

一个主/从架构,其中NameNode和JobTracker为主端,DataNode和TaskTracker为从端。

四、集群资源监控简介

在微软的MSCS(Microsoft Cluster Server)术语中,所有的应用程序、数据文件、磁盘、网络IP地址等都被称为资源,一些资源可以组成一个资源组,一个资源组存在于一个节点上,但同时只能在一个节点上,它是MSCS可以进行故障切换(FailOver)的最小单元。

监控是集群管理的核心任务。监控数据可用于调度任务、负载平衡、向管理员报告软硬件故障,并广泛地控制系统使用情况。监控信息必须在不影响集群性能的情况下获得。

五 集群监控软件Ganglia介绍

Ganglia是一个跨平台可扩展的,高性能计算系统下的分布式监控系统,如集群和网格。它是基于分层设计,它使用广泛的技术,如XML数据代表,便携数据传输,RRDtool用于数据存储和可视化。Ganglia偏向于操作系统低层一点的监控,主要是收集集群中的各个机器的 CPU 使用情况,内存使用情况,磁盘 I0, 网络 IO ,磁盘容量等,更像是 windows的任务管理器,只不过它是管理分布集群机器。类似的,它也由以下组件组成:数据采集组件,每隔一段时间采集一次数据,然后将数据发送给收集器,收集器收集好数据,再将数据保存到数据库,最后一个叫做 rrdtool 通过图形化来展现数据。 ganglia 更加通用性,除了收集固定的机器性性外,它还提供了相关插件,可以插入到其他进程,如 JAVA 程序,然后可以收集起这些进程的相关信息。

我们需要通过Ganglia的通用性进行扩展,然后测试自己需要的数据。它由以下组件组成:1、数据采集组件gmond,每隔一段时间采集一次数据,然后将数据发送给收集器。2、收集器gmetad收集好数据,再将数据保存到数据库。3、rrdtool 通过图形化来展现数据

六 安全认证的介绍

Internet 上的很多协议本身并不提供安全属性。怀有恶意的hackers用“sniff”等工具嗅探口令是非常普遍的事情。因此在网络上不经加密就传送口令是很不安全,许多网站使用防火墙来解决安全问题。但是,防火墙都是假定攻击都来自外部,但事实常常不是这样,许多攻击事件都是内部人士所为。而且防火墙还有一个缺点就是会对正常的用户使用Internet造成一定的限制。

单点登陆是一个方便用户访问多个系统的技术,用户只需要在登录时进行一次注册,就可以在一个网络中自由访问,不必重复输入用户名和密码来确认身份。单点登陆的实质是安全上下文,(Security Context )或凭证(Credential)在多个应用系统之间的传递或共享,当用户登陆系统时,客户端软件根据用户的凭证(例如用户名和密码)为用户建立一个安全的上下文,安全上下文包括用于验证用户的安全信息,系统用这个安全上下文和安全策略来判断用户是否具有访问系统资源的权限。

七 小结

本文主要描述在分布式集群上应用的相关技术,重点是本平台用到的技术进行了一个详细的介绍,主要包括分布式系统的搭建技术和分布式系统上的应用,在这两大技术领域又有很多分支的技术,所以目前在研究领域分布式集群的相关技术是非常丰富的,针对不同类型需求可以有多种不同的选择。

参 考 文 献

[1] Chuck Lam. Hadoop in Action中文版[M] ,北京:人民邮电出版社. 2011.10,253.

[2]韩春华、易思蓉、吕希奎.提案——验证通用推理及在铁路选线中的应用.四川:交通大学土木工程学院,2009

[3]陆舟. Struts2技术内幕:深入解析Struts2架构设计与实现原理[M]. 北京:机械工业出版社,2012年,135-190.

[4]许文柯. Spring技术内幕:深入解析Spring架构与设计原理[M]. 北京:机械工业出版社,2010年,30-68.