下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

Hadoop是什么玩意?

作者:课课家教育     来源: http://www.kokojia.com点击数:1326发布时间: 2019-03-07 14:24:48

标签: 大数据Hadoop服务器集群java

  Hadoop是什么?大数据是一个铺天盖地的词,提及大数据不免会提到Hadoop。但是很多人对Hadoop还是一头雾水,完全不知道是什么玩意?下面就跟大家一起来学习Hadoop,欢迎大家一起来学习Hadoop的知识。

Hadoop是什么玩意?_大数据_Hadoop_服务器集群_java_课课家教育
  1、Hadoop是什么?
  众所周知,Hadoop是Apache软件基金会管理的开源软件平台,但Hadoop到底是什么呢?Hadoop原来是ApacheLucene下的一个子项目,它最初是从Nutch项目中分离出来的专门负责分布式存储以及分布式运算的项目。简单地说来,简单来说,Hadoop是在分布式服务器集群上存储海量数据并运行分布式分析应用的一种方法。
  Hadoop被设计成一种非常“鲁棒”的系统,即使某台服务器甚至集群宕机了,运行其上的大数据分析应用也不会中断。此外Hadoop的效率也很高,因为它并不需要你在网络间来回捣腾数据。
  2、Hadoop的主要特点
  1)扩容能力(Scalable):能可靠地(reliably)存储和处理千兆字节(PB)数据。
  2)成本低(Economical):可以通过普通机器组成的服务器群来分发以及处理数据。这些服务器群总计可达数千个节点。
  3)高效率(Efficient):通过分发数据,hadoop可以在数据所在的节点上并行地(parallel)处理它们,这使得处理非常的快速。
  4)可靠性(Reliable):hadoop能自动地维护数据的多份复制,并且在任务失败后能自动地重新部署(redeploy)计算任务。
  3、Apache的正式定义
  Apache Hadoop软件库是一个框架,允许在集群服务器上使用简单的编程模型对大数据集进行分布式处理。Hadoop被设计成能够从单台服务器扩展到数以千计的服务器,每台服务器都有本地的计算和存储资源。Hadoop的高可用性并不依赖硬件,其代码库自身就能在应用层侦测并处理硬件故障,因此能基于服务器集群提供高可用性的服务。
  如果更深入地分析,我们发现Hadoop还有更加精彩的特性。首先,Hadoop几乎完全是模块化的,这意味着你们能用其他软件工具抽换掉Hadoop的模块。这使得Hadoop的架构异常灵活,同时又不牺牲其可靠性和高效率。
  4、Hadoop分布式文件系统(HDFS)
  如果提起Hadoop你的大脑一片空白,那么请牢记住这一点:Hadoop有两个主要部分:一个数据处理框架和一个分布式数据存储文件系统(HDFS)。
  HDFS就像Hadoop系统的篮子,你把数据整整齐齐码放在里面等待数据分析大厨出手变成性感的大餐端到CEO的桌面上。当然,你可以在Hadoop进行数据分析,也可以见gHadoop中的数据“抽取转换加载”到其他的工具中进行分析。
  HDFS有着高容错性(fault-tolerent)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(highthroughput)来访问应用程序的数据,适合那些有着超大数据集(largedataset)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以流的形式访问(streamingAccess)文件系统中的数据。
  5、数据处理框架和MapReduce
  顾名思义,数据处理框架是处理数据的工具。具体来说Hadoop的数据处理框架是基于Jave的系统--MapReduce,你听到MapReduce的次数会比HDFS还要多,这是因为:
  1)MapReduce是真正完成数据处理任务的工具
  2)MapReduce往往会把它的用户逼疯
  在常规意义上的关系型数据库中,数据通过SQL(结构化查询语言)被找到并分析,非关系型数据库也使用查询语句,只是不局限于SQL而已,于是有了一个新名词NoSQL。
  有一点容易搞混的是,Hadoop并不是一个真正意义上的数据库:它能存储和抽取数据,但并没有查询语言介入。Hadoop更多是一个数据仓库系统,所以需要MapReduce这样的系统来进行真正的数据处理。
  MapRduce运行一系列任务,其中每项任务都是单独的java应用,能够访问数据并抽取有用信息。使用MapReduce而不是查询语言让Hadoop数据分析的功能更加强大和灵活,但同时也导致技术复杂性大幅增加。
  MapReduce将应用程序的工作分解成很多小的工作小块(smallblocksofwork)。HDFS为了做到可靠性(reliability)创建了多份数据块(datablocks)的复制(replicas),并将它们放置在服务器群的计算节点中(computenodes),MapReduce就可以在它们所在的节点上处理这些数据了。
  如下图所示:

MapReduce_Hadoop_数据库
  目前有很多工具能够让Hadoop更容易使用,例如Hive,可以将查询语句转换成MapReduce任务。但是MapReduce的复杂性和局限性(单任务批处理)使得Hadoop在更多情况下都被作为数据仓库使用而非数据分析工具。
  Hadoop的另外一个独特之处是:所有的功能都是分布式的,而不是传统数据库的集中式系统。
  本文对Hadoop进行简单的介绍,希望对您有所帮助,一如既往欢迎登陆课课家教育或关注公众号【课课家IT精品课程】提问和意见。

赞(0)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程