Hadoop:稳定、高效、灵活的大数据处理平台

  

  如果你和别人谈论大数据,那么你们很快就会把话题转到那只黄色的大象身上——Hadoop(它的标志是一只黄色大象)。这个开源的软件平台是由Apache基金会发起的,它的价值在于能够简便且高效地处理超大型数据。

  但是,究竟什么是 Hadoop呢?简单地说, Hadoop是一个能够对大量数据进行分布式处理的软件框架。首先,它将大量的数据集保存在分布式服务器集群中,之后它将在每个服务器集群里运行“分布式”数据分析应用。

  那Hadoop又有什么特殊之处呢?首先,它很可靠,即使某一个或某一组服务器宕机,你的大数据应用程序仍能正常运转。其次,它十分高效,在处理过程中,不需要从整个网络来回调取大量数据。

  对于Hadoop, Apache给出的官方描述是这样的:

  Apache Hadoop 软件框架利用简便的编程模型来分布式处理超大数据。它的设计理念是从一个服务器扩展到成千上万的机器,每一个单独个体都提供本地运算和存储能力。与其他依靠硬件确保可靠性的同类软件平台不同,Hadoop在应用层自带bug检测和处理功能。因此,它仅仅通过一个计算机集群就可以提供实用性强的服务。

  更神奇的是,Hadoop几乎是模块化的,这意味着你可以用任何其他的软件工具去替换它的每一个组成部分。因而,Hadoop 不光是可靠的、高效的,更具有灵活的组织结构。

  Hadoop分布式文件系统(HDFS)

  好吧,如果到现在为止你还都搞不懂什么是Hadoop(其实我觉得也有点抽象),那么,你只需要记住Hadoop最重要的两个组成部分就够了。一个是它的数据处理框架,另一个是它用于存储数据的分布式文件系统(distributed filesystem )。当然,Hadoop的内部组成相当复杂,不过,只要有了以上两个组成部分,它就能基本运行了。

  这个分布式文件系统就是我们上面提到的那些分布的存储群集。说白了,它就是Hadoop 中“掌握”着实际数据的那一部分。虽然Hadoop 可以也使用其它文件系统进行数据存储,不过在缺省情况下,它还是会使用这个分布式文件系统(HDFS)来完成这个“任务”。

  打个比方吧,HDFS就好像是一个大水桶,你的数据都可以放在它里面。直到你调用它们时,这些“可爱的小家伙们”都听话的待在这个安全的大水桶里。无论你是想在Hadoop 中进行分析,还是想从Hadoop 中调取数据、用别的工具进行处理,HDFS都能为你提供最流畅、最可靠的运行体验。

  数据处理框架&MapReduce

  (译者注:MapReduce是Google开发的C++编程工具,用于大规模数据集的并行运算)

  数据处理框架,实际上是与数据协同运行的一个工具。在缺省情况下,它又被称MapReduce,是一个基于Java的系统。相比HDFS,你可能更熟悉MapReduce。造成种情况的原因,可能主要是一下两个原因:

  1.它(MapReduce)是真正处理数据的工具

  2.当人们用它数据处理时,感觉都都很爽

  在所谓“正常”的关系型数据库中,数据的查找和分析,要借助于标准的“结构化查询语言”(SQL)。非关系型数据库也使用查询语言,可是不仅限于SQL。它可以借助于其它查询语言从数据存储中调取所需数据。因而,也有人把这种查询语言成为“非结构化查需语言”(NoSQL)。

  事实上,Hadoop并不是一个数据库。虽然它可以帮助你存储数据,并任你随意调取,可它不涉及任何查询语言(既不用SQL 也不同其它语言)。由于它不仅仅是一个数据存储系统,因而Hadoop需要一个类似于MapReduce的系统,来帮它处理数据。

  MapReduce要承担一系列的工作。实际上,每一个工作都是一个单独的Java应用,在进入数据库后,它可以根据需要调出不同的信息。用MapReduce代替传统的查询语言,可以令数据的查找更加精准、灵活。不过,在另一方面,这样做,也增加了数据处理的复杂性。

  不过,也有一些工具可以简化这个过程。比如,Hadoop还包括一个名为Hive 的应用程序(也是由Apache领导开发的)。它可以将查询语言转化成一个个的MapReduce工作。过程看似是简化了,可这种批处理方式一次只能处理一个工作。这样一来,试用Hadoop更像是使用一个数据仓库,而不是一个数据分析工具。

  分散在集群中

  Hadoop的另外一个独特之处就在于,上述的所有功能都是分布式的系统,这和传统数据库里的中央式系统有很大差别。

  在一个需要多台机器支撑的数据库中, “工作”往往是被分派好了的:所有的数据都存储在一个或多个机器里,而数据处理软件都由另一个或一群服务器掌控。

  而在Hadoop的群组中,HDFS和 MapReduce系统存在于群组中的每一台机器中。这样做有两个好处:一、即使群组中的一台服务器宕机,整个系统仍然可以正常运行;二、它将数据存储和数据处理系统放在一起,可以提高数据检索的速度。

  总之,正像我所说的那样,Hadoop绝对是可靠的、高效的。

  当 MapReduce收到一个信息查询指令,它就会立即启动两个“工具”来进行处理。一个是“工作追踪器”(JobTracker),位于Hadoop的主节点上;另一个是“任务追踪器”(TaskTrackers ),位于Hadoop的每一个网络节点上。

  整个处理过程都是线性的:首先,通过运行Map函数,“工作追踪器”将运算工作分拆成有明确定义的模块,并将其传送到“任务追踪器”中(“任务追踪器”位于存有所需数据的群组机器里)。其次,通过运行Reduced函数,同之前定义相对应的精确数据以及从群组中的其它机器找到的所需数据,被传回到Hadoop群组的中央节点。

  HDFS的分布方式和上面讲的方式十分相像。单一的主节点在群租服务器中追踪数据的位置。主节点也被称为数据节点,数据就存储在数据节点中的数据块上。HDFS对数据块进行复制,一般以128MB为一个复制单位,之后将这些复制数据分散到群组里的每一个节点中。

  这种分布式“风格”使Hadoop 具有了另一大优势:由于它的数据和处理系统都被放在群组中的同一个服务器中,这样一来,当你的群组每增加一台机器时,你整个的系统硬件空间和运算能力就都提升了一个等级。

  配备你的Hadoop

  正如前面我提到的,甚至用户都没必要纠结于HDFS或是MapReduce。因为,Hadoop还提供了“弹性计算云解决方案”。这个方案主要是指亚马逊为其提供的简易云存储服务,以及DataStax公司的开源产品Brisk(基于Apache Cassandra的CassandraFS系统),它代替了HDFS,承担了Hadoop分布式文件系统工作。

  为了避免MapReduce的“线性“处理方式的局限性,Hadoop还有一个名为Cascading的应用,它可以给开发者提供一个简便的工具,并且增加工作的灵活性。

  客观地说,目前的Hadoop还不能算是一个完美的、极其简单的大数据处理工具。正如我提到的,由于MapReduce在处理数据上的局限性,很多开发者还是习惯于把它仅仅当成一个既简单又快捷的存储工具。这样一来,Hadoop处理数据的优势就无法体现。

  不过,Hadoop又确实是最好的、用途最广泛的大数据处理平台。尤其是当你没有时间和金钱去使用关系型数据库存储庞大的数据时。因而,Hadoop总是在大数据的“屋子”里放上一头大象,随时等着进行数据处理。

时间: 2024-08-01 14:26:44

Hadoop:稳定、高效、灵活的大数据处理平台的相关文章

如何低成本、高效率搭建Hadoop/Spark大数据处理平台

随着人们逐渐认识到 "大数据"的价值,互联网.电商到金融业.政企等各行业开始处理海量数据.如何低成本.敏捷高效地搭建大数据处理平台,成为影响大数据创新效率的关键. 为了让用户以最简便地方式享用阿里云全球资源,在云端构建敏捷弹性.高可靠和高性价比的大数据平台,近日,阿里云在成都云栖大会上发布了一款Hadoop/Spark场景专用的ECS存储优化型实例D1规格族,单实例提供最高56核CPU,224GB内存,168TB本地盘容量,5GB/S总吞吐,PPS达120万+.这对Hadoop/Spa

省时省事省力 巧用阿里ECS D1构建大数据处理平台

随着人们逐渐认识到 "大数据"的价值,互联网.电商到金融业.政企等各行业开始处理海量数据.如何低成本.敏捷高效地搭建大数据处理平台,成为影响大数据创新效率的关键.   为了让用户以最简便地方式享用阿里云全球云资源,在云端构建敏捷弹性.高可靠和高性价比的大数据平台,阿里云在云栖大会·成都峰会上正式推出了Hadoop/Spark场景专用的ECS存储优化型实例D1规格族,充分满足泛互联网行业.金融.电商.政企等行业等搭建大数据存储与计算分析平台的要求,真正意义上做到了"省时省事省力

大数据处理平台——hadoop能为企业带来什么?

现在,"大数据"这个概念在IT行业是越来越流行了.美国国家海洋与大气管理局NOAA利用"大数据"进行各种分析.<纽约时报>使用大数据对于新闻分析和WEB信息进行挖掘.迪斯尼则利用主题公园.商店以及WEB资产进行客户http://www.aliyun.com/zixun/aggregation/9850.html">行为分析. "大数据"不单单只是适用于大型的企业,而且还可以应用于各个不同规模的,不同杨业的企业.比如通过

Hadoop 这样业界顶级的大规模数据处理平台,均发现满足不了类似双十一这样全世界的剁手党蜂拥而至的热情

写这篇文之前想起一个段子:"你在干嘛?""我在王健林这儿跟马云谈生意.""说人话!""我在万达广场逛无聊了坐着拿手机淘宝--" 所以,本来开篇想说上周到马云那里聊了会最新的云计算技术,想想还是不那么得瑟,老实交代吧,上周五到杭州阿里巴巴总部以开小规模研讨会的名义实质上主要是去参观学习了一圈.马云当然是没见着,据说马老师刚好到武汉去了,当然大家都心里有数,马老师就算刚好没去武汉估计也会刚好有什么其它事情无暇分身滴.出席研讨的阿里

用F#从0开始打造一个大数据处理平台(1.整体规划)

这一大系列博客将介绍一个伟大的大数据处理平台是如何诞生的. 预计会有很多很多篇,持续很长很长时间. 为什么说 "伟大" 呢? 因为这将打造一整个新的体系. 不同于现有的大数据生态圈里各种产品的新的函数式体系结构.  数据处理本是函数式语言的专长, (比如Map 和 Reduce 是所有函数式语言的最重要的两个基础函数---哪怕在某些语言中不叫这两个名字), 无奈Hadoop 根植于jvm, 来源于Java,带动整个社区生态从hdfs, hbase, zookeeper, spark 以

鸿鹄数据库要用原生单机列存技术打造高效大数据处理平台

近日,成都文武信息技术创始人朱贤文向猎云网透露,成都文武信息技术于2016年3月获得成都高投300万天使投资. 数据可以说是互联网时代下所有企业的核心,数据库是处理和分析数据的平台.在"大数据"和"云计算"时代的背景下,一个高效的数据库系统毫无疑问能为企业运作带来极大的便利. 成都文武信息技术打造的鸿鹄数据库是基于PostgreSQL数据库开发的数据处理平台,拥有原生的列存储技术和压缩技术.据创始人朱贤文介绍,创建此数据库的初衷是希望用自己的专业知识开发出先进的数据

大数据处理——Hadoop解析(一)

概述 这个时代被称之为大数据时代,各行各业生产的数据量呈现爆发性增长,并且基于这些爆发性增长的数据做深层次的数据挖掘.分析.处理.因此,我们可以很容易的感觉到,在这样一个大数据的时代,我们很多做事情的方法正在发生了改变.例如,基于大数据分析可以做疾病预测控制;基于大数据分析可以做交通流量预测控制;基于大数据分析可以做大型系统故障诊断预测;基于大数据分析可以做客户消费推荐.可以说,大数据时代可以解决很多以前非常难以解决的问题.可以这样讲,在这样一个时代,大数据可以让我们的生活变得更加美好. 突如其

大数据处理仅有Hadoop是不够的

自从三大数据库厂商甲骨文.IBM和微软在2011年不约而同地宣布支持Hadoop后,在企业级市场上,Hadoop基本上也充当着大数据的代名词.时至今日,这种状况或许应该改变了. NoSQL日渐重要 由于Hadoop的高调,很少有人注意到,在宣布支持Hadoop的同一年,这三大关系型数据库厂商还分别宣布支持非关系型数据库NoSQL. 作为开源软件,NoSQL(Not only SQL,不仅仅是SQL)的诞生和发展也是为了满足Web 2.0特别是社交网络对于数据库"三高"的需求,即对数据库

大数据分析平台Hadoop与Spark之争

ZD至顶网软件频道消息 原创文章(文/邓晓蕾): 有人把大数据称为信息资产.有人称为金矿.甚至社会财富.而大数据,即,无法在可承受的时间范围内用常规软件工具进行捕捉.管理和处理的数据集合.Gartne认为"大数据"是需要新处理模式才能具有更强的决策力.洞察发现力和流程优化能力的海量.高增长率和多样化的信息资产.大数据并不在"大",而在于"有用".价值含量.挖掘成本比数量更为重要.对于很多行业而言,如何利用这些大规模数据是成为赢得竞争的关键.大数据