C114通信网  |  通信人家园

资讯
2018/12/29 11:02

想要吃透大数据?先过了Hadoop这一关再说!

移动Labs  

自从进入信息社会以来,IT技术影响着人们生活的每一个角落。在经过了数次技术革新后,大数据技术已经潜移默化的成为了各行各业的必修课。

而聊到大数据技术,当然是少不了Hadoop。

Hadoop是Apache下一个开源子项目,实现了一种分布式系统基础架构。而Hadoop框架最核心的设计就是:HDFS和MapReduce。

要想了解Hadoop,就必须知道HDFS和MapReduce是什么。

HDFS,全称Hadoop File System,是一个可扩展的分布式文件系统,但其在设计上有如下特点使其区别于其他系统,从而保证了它本身的优势:

1、支持大文件存储。

HDFS能够支持以T为单位的单文件存储,从而确定了其应对大数据应用的基础。

2、文件分块存储。

HDFS上的文件是切割成小块存储到集群的不同节点之上,这样在读取文件时可以做到从多个机器上并行读取,从而提高读取的效率。

3、流式数据访问。

一次写入多次读写,这种模式跟传统文件不同,它不支持在线改变文件内容,而是要求让文件一次写入就不做变化,要变化也只能在文件末添加内容。用户如需修改原先的文件内容,则要先将文件下载到本地,再将线上文件删除,最后在本地修改好后进行重新上传,以次来达到修改的目的。

4、廉价的硬件设备。

HDFS的设计是能够运行在大量的廉价设备上,通过集群系统的容错功能保证集群的正常运转。

5、数据备份。

HDFS认为所有计算机都可能会出问题,为了防止某个主机失效读取不到该主机的块文件,它将同一个文件块副本分配到其它某几个主机上,如果其中一台主机失效,可以迅速找另一块副本取文件。

HDFS可运行在廉价的硬件设备上,又能够存储海量数据,还有备份机制不怕机器节点故障,故而能为大量的用户提供性能较高的服务。

而MapReduce则是一种编程模型,用于大规模数据集的并行运算,“Map”和“Reduce”是从函数式编程语言和矢量编程语言中借鉴的。编程人员使用此平台编写程序,可以直接运行在分布式系统上。

Hadoop中MapReduce程序运行包括3个步骤,Map(主要分解并行的任务)、Shuffle(排序和压缩,主要是提高Reduce的效率)和Reduce(将处理结果汇总)。

Map

Map以并行方式对输入的文件进行操作,其第一步就是把文件集分割成多个子集。如果单个的文件大到影响查找效率,那么它将会被分割成一些小的文件。

Reduce

当一个Reduce任务开始时,其输入数据分散在各个节点上Map的输出文件里。在分布式的模式下,需要先把这样文件复制到本地系统中。当所有的数据都被复制到Reduce任务所在的机器上,Reduce任务会把这些文件合并到一个文件中。然后将这个文件合并分类,使得相同Key的键值对可以排在一起。接下来的Reduce操作就相对简单了,顺序地读入这个文件,将key(键)所对应的values传给Reduce方法后再读取一个key。最后,输出是由每个Reduce任务的输出文件组成。

研发云中的eHadoop由HDFS和MapReduce及以下9个组件构成:

1、Ganglia

Ganglia是一个开源集群监视项目,主要是用来监控系统性能,如:cpu 、mem、硬盘利用率, I/O负载、网络流量情况等,通过曲线很容易见到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体性能起到重要作用。

2、Nagios

Nagios是一款网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设备,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。

3、YARN——资源管理系统

MapReduce任务流程是从客户端提交任务开始,直到任务运行结束的一系列流程,MapReduce运行时任务调度由YARN提供,所以需要MapReduce相关服务和YARN相关服务进行协同工作。

4、HControl

HControl是BC-Hadoop及大云大数据套件的管理软件,主要作用是能够自动化部署、启停、配置、监控整个集群

5、ZooKeeper

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

6、Oozie

Oozie是用于Hadoop平台的一种工作流调度引擎,统一调度hadoop系统中常见的mr任务启动hdfs操作、shell调度、hive操作等,能完成大部分hadoop任务处理。

7、hive

hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

8、pig

Pig是一种数据流语言和运行环境,用于检索非常大的数据集。为大型数据集的处理提供了一个更高层次的抽象。

9、Spark

Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。

研发云中的eHadoop通过云计算技术整合IT资源,为用户提供可伸缩,易管理的大数据处理集群,用户可以在几分钟内轻松的创建一个大数据处理集群,并通过页面管理多种类型的计算作业,以及管理分布式文件系统和云存储。

其具有以下特点:

快速部署

用户可以随时申请并迅速使用资源,eHadoop从申请到生成仅需数分钟时间。企业使用eHadoop,实现了低成本、缩短数据处理时间的目的。其可以利用eHadoop的分布式运行框架迅速搭建起自己的分布式运算系统,亦可以用eHadoop的分布式文件系统,快速搭建自己的分布式存储服务,从而在大数据中发掘数据价值。

稳定可靠

eHadoop的服务稳定,并为用户提供多种监控方式,方便用户了解集群状态。

按需使用

用户可以根据业务系统的需求随时订购多种规格的eHadoop系统,系统对其进行扩容并支持按需计费。

所以说想要吃透大数据,Hadoop这一关必须得过!

给作者点赞
0 VS 0
写得不太好

  免责声明:本文仅代表作者个人观点,与C114通信网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。

热门文章
    最新视频
    为您推荐

      C114简介 | 联系我们 | 网站地图 | 手机版

      Copyright©1999-2024 c114 All Rights Reserved | 沪ICP备12002291号

      C114 通信网 版权所有 举报电话:021-54451141