我对Hadoop的了解

来源:互联网 发布:怎么成为网络歌手 编辑:程序博客网 时间:2024/05/22 09:49

在这里,我想谈一谈我对Hadoop的了解,感兴趣的伙伴可以看一看,不足之处欢迎指正。

什么是Hadoop
首先,Hadoop是一个开发和运行处理大规模数据的软件平台,是一个用Java语言实现开源软件框架,实现在大量计算机组成的集群中对海量数据进行分布式计算。

Hadoop的组成
由以下三大核心,四大模块,两大协议组成
三大核心
HDFS 、MapReduce 、YARN
四大模块
hadoop Common:为其他hadoop模块提供基础设施
hadoop DFS:一个可靠,高吞吐量的分布式文件系统
hadoop MapReduce:一个分布式的离线并行计算框架
hadoop YARN:一个新的MapReduce框架,任务调度与资源管理
两大协议
rbc(远程过程调用协议,调用其他的jvm)
nio

核心设计
HDFS和MapReduce.
HDFS提供了海量数据的存储,它是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,适合那些有着超大数据集(large data set)的应用程序。
MapReduce提供了对数据的计算,通俗说MapReduce是一套从海量源数据提取分析元素最后返回结果集的编程模型,将文件分布式存储到硬盘是第一步,而从海量数据中提取分析我们需要的内容就是MapReduce做的事了。

Hadoop的出现
在硬盘存储容量快速增加的同时,其访问速度(从硬盘读取数据的速度)却未能与时俱进,数据越来越大,导致读取时间较长。而Hadoop 就是为了解决面向互联网及其他来源的大数据的分析和并行处理计算模型。

应用场景
hadoop主要应用于数据量大的离线场景。特征为:
1、数据量大。一般真正线上用Hadoop的,集群规模都在上百台到几千台的机器。这种情况下,T级别的数据也是很小的。Coursera上一门课了有句话觉得很不错:Don’t use hadoop, your data isn’t that big。
2、离线。Mapreduce框架下,很难处理实时计算,作业都以日志分析这样的线下作业为主。另外,集群中一般都会有大量作业等待被调度,保证资源充分利用。
3、数据块大。由于HDFS设计的特点,Hadoop适合处理文件块大的文件。大量的小文件使用Hadoop来处理效率会很低。

举个例子,百度每天都会有用户对侧边栏广告进行点击。这些点击都会被记入日志。然后在离线场景下,将大量的日志使用Hadoop进行处理,分析用户习惯等信息。其实我们要知道大数据是针对增量中海量的结构化,非结构化,半结构数据,在这种情况下,如何快速反复计算挖掘出高效益的市场数据??带着这 个问题渗透到业务中去分析,就知道hadoop需要应用到什么业务场景了!!!如果关系型数据库都能应付的工作还需要hadoop吗?

Hadoop的优缺点
优点
(一)高可靠性:Hadoop按位存储和处理数据的能力值得人们信赖;
(二)高扩展性:Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。
(三)高效性:Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。
(四)高容错性:Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。
缺点
(一)不适合低延迟数据访问。
(二)无法高效存储大量小文件。

Hadoop的历史

Hadoop是Doug Cutting– Apache Lucene创始人– 开发的使用广泛的文本搜索库。

Hadoop这个名字不是一个缩写,它是一个虚构的名字。该项目的创建者,Doug Cutting如此解释Hadoop的得名:”这个名字是我孩子给一头吃饱了的棕黄色大象命名的。我的命名标准就是简短,容易发音和拼写,没有太多的意义,并且不会被用于别处。小孩子是这方面的高手。Googol就是由小孩命名的。”

雏形开始于2002年的Apache的Nutch,Nutch是一个开源Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。

随后在2003年Google发表了一篇技术学术论文谷歌文件系统(GFS)。GFS也就是google File System,google公司为了存储海量搜索数据而设计的专用文件系统。

2004年Nutch创始人Doug Cutting基于Google的GFS论文实现了分布式文件存储系统名为NDFS。

2004年Google又发表了一篇技术学术论文MapReduce。MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行分析运算。

2005年Doug Cutting又基于MapReduce,在Nutch搜索引擎实现了该功能。

2006年,Yahoo雇用了Doug Cutting,Doug Cutting将NDFS和MapReduce升级命名为Hadoop,Yahoo开建了一个独立的团队给Goug Cutting专门研究发展Hadoop。

概括来讲,就是从Lucene到nutch ,从nutch到Hadoop。

Hadoop的版本
2.2
2.5
2.7
2.7.2

0 0
原创粉丝点击