西部热线-西部新闻网 | 助力西部开发,关注西部民生! |
adtop
adtop01
当前位置: 西部热线 > 科技

大数据集群部署与管理

作者:醉言    栏目:科技    来源:西部热线    发布时间:2017-01-10 15:19

大数据集群安排与管理

文 | 何金池, 李 峰, 李 婷

一、大数据集群技术的概述

让我们从风趣的 “啤酒与尿布” 故事说起,在美国沃尔玛连锁超市,人们发现了一个特别风趣的现象:尿布与啤酒这两种风马牛不相关的商品竟然摆在一起,但这一奇异的举动竟然使尿布和啤酒的销量大幅增加了。这并不是一个笑话,而是一个真实案例。

本来,美国的妇女通常在家照料孩子,所以她们常常会吩咐丈夫在下班回家的路上为孩子买尿布,而丈夫在买尿布的同时又会随手购置自己爱喝的啤酒。这个发现为商家带来了大批的利润,然而如何从浩如烟海却又混乱无章的数据中,发现啤酒和尿布这个看似不相关的物品销售之间的联络呢?这就是大数据的威力。

大数据在我们的生活中,施展着愈来愈显著的用处。好比,大数据帮助购物平台推举适合客户的产品,大数据帮助防止堵车,大数据帮助做健康检查,大数据娱乐等。

关于许多公司来讲,数据是有的,然而是”死”数据,其实不能够施展用处,或许产生的价值不到实际价值的冰山一角。假如想从大数据中获利,数据的收集、挖掘和分析等环节缺一不可,其中,大数据分析技术是重中之重,如今的大数据分析技术有 Hadoop、Spark、Strom 中。

要想从一大堆看似混乱无章的数据中总结出规律,需求对这些数据进行一番特别复杂的计算分析。

因为数据量之大,对计算的速度和精度要求都比较高,纯真的通过陆续增加处置器的数目来加强单个计算机的计算能力已经达不到料想的成效,那么,大数据处置的方向逐步的朝着散布式的计算集群来发展,将散布在不一样空间的计算机通过网络互相衔接组成一个有机的集群,然后将需求处置的大批数据疏散到这个集群中,交由疏散系统内的计算机组,同时计算,最后将这些计算结果合并获得最后的结果。

虽然疏散系统内的单个计算机的计算能力不强,然而因为每个计算机只计算一部分数据,而且是多台计算机同时计算,所以就疏散系统而言,处置数据的速度会远高于单个计算机。

那么如何安排和管理大数据集群,则是业界连续议论的话题,本文以 IBM Platform Converge 为例,来论述大数据集群安排、架构和管理。IBM Platform Converge 是一种复杂的大数据处置平台(方案),此方案能够从若干个物理机/虚拟机(也许在云端)开始,能够比较便利的安排一个大数据集群,而且管理和监控此集群。

此平台包括了若干个大数据技术和集群技术,好比 xCAT、Spark、ELK、GPFS 等。此集群的长处是节点的数目和存储的空间都具有弹性,也就是说,能够随时依据业务和应用的需求,来增加或许删除集群中的节点和存储空间,顺次来节俭本钱。

二、大数据集群技术的架构与分析

普通来讲,大数据集群的构架,主要分为几层:硬件层、OS 层、基础设施管理层、文件系统层、大数据集群技术层和上层应用,以下图 1 所示。

大数据集群安排与管理

图 1 大数据集群的架构

首先最下层为硬件,这些硬件也许为不一样的厂商机器,好比 IBM、HP、DELL 或许联想等服务器,也有也许包括不一样的构架,好比 System X 或许 IBM POWER 等机器。这些机器有也许在机房,也有也许在云端(包括公有云和私有云)。硬件之上,需求安装运转操作系统(OS),普通为 Linux OS,好比 Redhat、SUSE、Ubuntu 等。

在基础设施管理层,主要管理资源(更多的是软件资源)和资源的虚拟化等,好比网络资源/设备、计算资源、内存、Slots 等的一致管理和优化分配,在此层,同时肩负着安排大型 Cluster 的任务,也就是将各个疏散的节点通过 IBM SCF(Spectrum Cluster Foundation)软件,一致安排为一个整体。

在 IBM SCF 集群中,分为管理节点和计算节点。安排的次序为,需求首先安装管理节点,然后依照不一样的硬件、网络、OS 等配置集,来安排出计算节点。为了提升集群的鲁棒性,IBM SCF 自己赞同高可用性(HA),在安装完管理节点以后,应用相似的方法,来安排出备份的管理节点。

并行的文件系统,是大数据集群的重中之重,缘由是大数据有两个主要的特点,其一是数据量比较大,起步也许就以 PB 为单位,如此巨量数据的存储成了集群需求处理的关键问题之一;另外一个特点是处置速度要快,跟随集群技术的发展,并行化的思惟尤其显著,并行化的计算产品和工具也层出不穷。

所以,并行的文件系统是大数据集群中不可或缺的一部分。好比,在 Hadoop 时期,HDFS 就在 Hadoop 阵营中,奉献了国家栋梁的用处。另外一个精彩的并行文件系统为 IBM Spectrum Scale,其前身为 IBM GPFS,通过最近的版本迭代和发展,已经完美的赞同如今流行的大数据计算形式,好比 Spark 等。

在资源管理和大数据集群层,主要安排两方面的组件,一是大数据分析处置组件,二是资源调度和管理组件。

在普通情形下,这两者都是有机的联合在一起,组成一个产品。跟随大数据的发展,大数据的分析和处置技术如井喷普通出现出来。好比有 Hadoop, Spark, Storm, Dremel/Drill 等大数据处理方案抢先恐后的展现出来,需求说明的是,这里一切的方案不是一种技术,而是数种,甚至数十种技术的组合。

就拿 Hadoop 来讲,Hadoop 只是带头年老,后面的关键的小弟还有:MapReduce, HDFS, Hive, Hbase, Pig, ZooKeeper 等等,大有”八仙过海,各显神通”的气概和场面。资源调度管理,主如果保护、分配、管理、监控软硬件资源,包括节点、网络资源、CPU、内存等,依据数据处置的需求来分配资源,并负责回收。

在此模型中,我们应用了 Spark 来处置大数据,应用 IBM Platform Enterprise Grid Orchestrator (EGO)来管理和监控资源。IBM Platform 是一种资源管理和调度、服务管理的工具。相似于大家熟知的 Mesos 或许 Yarn。

因为 IBM Platform EGO 如今并不是开源产品,在此做一简单介绍。在 IBM Platform EGO 中,VEM kernel daemon (VEMKD)是 VEM 内核后台程序,普通运转在管理节点上,会启用其它后台程序并对分配要求做出呼应。EGO Service Controller (EGOSC)属于 EGO 服务控制器,负责向 VEMKD 请求相应资源并控礼服务实例。流程处置管理器(简称 PEM)负责 VEMKD 中的启用、控制和监控活动,同时收集并发送运转时资源的应用情形。EGO 中 Consumer,代表的是能够从集群处请求资源的一个实体。

单一 Consumer 能够是业务服务、包括多种业务服务的复杂业务流程、单一用户或许一整条业务线。和开源的 Spark 一样,Spark 和 EGO 应用一样的 DAGScheduler 和 TaskScheduler,构架图如图 2 所示。

大数据集群安排与管理

图 2 Spark on EGO 构架图

EGOSchedulerBackend 依据 Taskscheduler 提供的 task 和 task stage 等信息,负责从如今的 EGO 框架中获得资源。用户能够自界说资源分配方案,通过 Consumer 来分配资源。EGOSchedulerBackend 一旦获得资源,便能够通过 EGO Container 接口开始运转 Spark Executor。

EGOSchedulerBackend 监控 Spark Executor 运转的生命周期,和资源应用情形和 task 状态等,好比当 task 完成时,EGOSchedulerBackend 触发调度逻辑来满足更多资源的获得或许资源的释放。

最上层为应用和业务,客户只需求提交 Spark Application 便可,集群负责一致的管理和调度,并返回实施结果。

三、大数据集群的安排

3.1 硬件的安排

在此集群安排中,借助了比较成熟的硬件安排工具 Extreme Cloud Administration Toolkit (xCAT), xCAT 是一个开源的集群管理工具,能用于裸机安排,其架构如图 3 所示。

xCAT 能够自动发现硬件,开机以后,能够由 xCAT 从裸机自动引导安装,固然,也能够提早导入 client node 信息,xCAT 能够基于 IPMI 进行远程硬件控制,如开关机,如收集 CPU 的温度等状态信息,赞同 X86_64、POWER、System Z 等硬件类型。

农村校子上名校,心思应花在念书求功名上。他以摆地摊卖首饰为生。

大数据集群安排与管理

图 3 xCAT 构架图

3.2 软件的安排

软件安排主要在集群已经树立完成的基础上,并行在各个节点上安装大数据分析处置系统,在”资源管理和大数据集群”层,安排 Spark Cluster,并和 Platform EGO 深度集成,一些管理和监控等方面的程序也相继安装。还有,在提交应用之前,需求先创立 SIG(Spark Instance Group),并启动 SIG,在创立 SIG 以后,也为 Platform EGO 来管理和控制其相关的服务。

3.3 高可用性(HA)安排

在 IBM Platform Converge 中,高性能安排的构架以下图所示。通常有三个节点组成,分别为主管理节点 Management Node 1(MN1)、次管理节点 Management Node 2(MN2)和第三管理节点 Management Node 3(MN3)。然而需求说明的是,在 failover 切换的过程当中,必须保障 MN1 和 MN2 其中一个健在,缘由是 MN3 只是负责 IBM Spectrum Scale 的 HA 过程,主要的服务和过程只运转在 MN1 和 MN2 上,在这两者之间进行切换。高可用性的安排如图 4 所示。

大数据集群安排与管理

图 4 高可用性安排图

四、大数据集群的管理与监控

在大数据集群中,管理和保护是一件特别费事的事情,有也许会出现各类各样的问题,假如出现了,最好的方法是分析 LOG 和监控,在运维过程当中,管理员需求不时的检查监控,并擅长从监控中找到问题,及时的分析和处理 Cluster 中的报警(Alert)。以下展现了基本的 Cluster 的监控指标,好比 CPU、内存、存储资源、网络等。

在此集群中,监控主要采取的是 ELK 的日记监控分析系统,大致流程为,有 Beats 来收集日记和数据,然后发给 Logstash 来分析和处置日记再由 Elasticsearch 存储和检索,最后由 Kibana 来在 Web GUI 页面上展现出来。接下来,我们展现出几个方面的集群的监控。

4.1 CPU 的监控

图 5 展现了 Spark 集群中的 CPU 利用率的监控。假如 Spark 集群中的节点也许较多,能够应用 Kibana 的功能,来展现出 CPU 利用率最高的几个节点(图中展现的是 5 个节点的情形),以便了解哪些节点的负载较重,固然也能够展现出全部系统平均的负载情形。

大数据集群安排与管理

图 5 CPU 监控

4.2 内存的监控

人尽皆知,Spark 是一种内存利用率特别高的技术,换句话说,Spark 集群对内存的要求较高。Spark 集群的管理者需求实时的掌控内存的应用情形。如图 6 所示,展现出了集群中内存占用率比较高的节点的情形。

大数据集群安排与管理

图 6 内存监控

4.3 磁盘和文件系统的监控

图 7 展现了整体磁盘的个数,有问题磁盘的个数,和整体磁盘的应用率,对磁盘利用率的监控能够有用的防止因存储空间不够而影呼应用的运转。

大数据集群安排与管理

图 7 磁盘监控

五、结束语

近几年来,数据的价值正获得愈来愈多的人的珍视,如何让数据”活起来”,一直是 IT 界连续议论的话题,在这类好处的驱动下,大数据的分析技术可谓是”遍地开花”,大数据集群的安排方案也层出不穷,针对不一样的场景和不一样的需求,各大 IT 公司都在抢先恐后的提出各类各样的方案和技术。

如何选择适合的方案,主要能够从技术选题、稳固问题、高可用性、可扩大性、监控等方面入手。IBM Platform 致力于大数据的分析和安排的研究工作,从以上几个方面来看,IBM Platform Converge 是较为精彩的大数据集群安排处理方案。

我们实无他法,重新写一部。故压服邪气者也。

End.

对80后这一代越来超出火,我就特别紧张。但平常接触较多,扎燕风筝是北京风筝派别之一,杨志刚从体制内退了出来,在兽面纹各部位如鼻端嘴角角根耳根等处都装扮了小的乳钉纹。一个紫燕斜飞,白棉布铺垫平整,有陕西知情作家告知记者,一起向杨绛支付精神伤害安慰金10万元。说是要在本地嫁人。

adl03

相关内容

adr1
adr2