Hadoop初步认识
Hadoop的介绍:
Hadoop是一个适用于大数据的并行存储和计算的平台,是 Apache的一个用java 语言实现开源软件框架,实现了在大量计算机组成的集群中对海量数据进行分布式计算。Hadoop框架的核心组成是HDFS和MapReduce,HDFS 实现存储,而 MapReduce实现数据分析与处理。
Hadoop开源系统实现了MapReduce编程模型,采用了分布式存储方式提高了读写速度,并扩大了存储容量。采用 MapReduce来整合分布式文件系统上的数据,可保证分析和处理数据的高效。与此同时, Hadoop还采用存储冗余数据的方式保证了数据的安全性, Hadoop中的HDFS 的高容错性,以及它是基于 Java语言开发的,这使得Hadoop可以部署在低廉的计算机集群中,同时不限于某个操作系统。 Hadoop中的HDFS 的数据管理能力,MapReduce处理任务时的高效率,以及它的开源特性,使其在同类的分布式系统中大放异彩。 MapReduce编程模型之所以受到欢迎和迅速得到应用,在技术方面有三方面的原因:
1.MapReduce 所采用的是无共享大规模集群系统,集群系统具有良好的性价比和可伸缩性。
2.MapReduce 编程模型简单,易于理解,易于使用。
3.虽然基本的 MapReduce 模型只提供一个过程性的编程接口,但是在海量的数据环境,需要保证可伸缩性的前提下,通过使用合适的查询优化和索引技术, MapReduce仍然能够提供相当好的数据处理性能。
(一) 优点:
3)高效性。Hadoop 能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快;
4)高容错性。Hadoop 能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配;
(二) 缺点:
1)不适合低延迟数据访问。
2)无法高效存储大量小文件。
3)不支持多用户写入及任意修改文件。
Hadoop的角色组成:
Hadoop核心项目
• HDFS: Hadoop Distributed File System 分布式文件系统
• MapReduce:并行计算框架
HDFS的架构
• 主从结构
• 主节点,只有一个:namenode
• 从节点,有很多个:datanode
• namenode负责:
• 接收用户操作请求
• 维护文件系统的目录结构
• 管理文件与block 之间关系, block与datanode 之间关系
• datanode负责:
• 存储文件
• 文件被分成block 存储在磁盘上
• 为保证数据安全,文件会有多个副本
MapReduce的架构
• 主从结构
• 主节点,只有一个:JobTracker
• 从节点,有很多个:TaskTracker
• JobTracker负责:
• 接收客户提交的计算任务
• 把计算任务分给TaskTracker执行
• 监控TaskTracker 的执行情况
• TaskTracker负责:
• 执行JobTracker 分配的任务
Hadoop发展简史:
Hadoop是由 Apache Lucence的创始人Doug Cutting 创建的。 Hadoop这个名字不是一个缩写,而是一个虚构的名字。是创建者 Cutting的孩子给一头吃饱了的棕黄色大象取的。
Apache Nutch 项目始于 2002年,一个开源的网络搜索引擎,它本身是 Lucene项目的一部分,Lucence是一个广泛使用的文本搜索系统库。这个可以运行的网页爬取工具和搜索引擎系统很快投入使用。但后来,开发者认为这一架构可扩展不够,不能解决数十亿网页的搜索问题。
2003年, Google发表的一篇描述Google分布式文件系统 (简称GFS) 的论文为他们提供了及时的帮助,文中称Google正在使用此文件系统。 GFS或类似的东西,可以解决他们在网络抓取和索引过程中产生的大量的文件的存储需求。具体而言, GFS会省掉管理所花的时间,如管理存储节点。
2004年,他们着手实现一个开源的应用,即 Nutch的分布式文件系统(NDFS)。也在同一年, Google发表了论文,向全世界介绍了 MapReduce。
2005年初, Nutch的开发者在Nutch 上实现了一个 MapReduce系统,到年中,所有主要的 Nutch算法被移植到使用MapReduce和 NDFS来运行。
2006年 2月,开发人员将NDFS和 MapReduce移出Nutch 形成Lucene的一个子项目,称为 Hadoop。Apache Hadoop 项目正式启动以支持 MapReduce和HDFS 的独立发展。大约在同一时间, Doug Cutting加入Yahoo !,雅虎为此组织了一个专门的团队和资源,将 Hadoop发展成一个能够处理Web数据的系统。
2008年 1月,Hadoop 已成为Apache的顶级项目,证明了它的成功、多样化、活跃性。
Hadoop大事记
2004年 -- 最初的版本( 现在称为 HDFS和MapReduce) 由Doug Cutting和 Mike Cafarella开始实施。
2005年 12月 -- Nutch 移植到新的框架, Hadoop在20 个节点上稳定运行。
2006年 01月 -- Doug Cutting 加入雅虎。
2006年 02月 -- Apache Hadoop 项目正式启动以支持 MapReduce和HDFS 的独立发展。
2006年 02月 -- 雅虎的网格计算团队采用 Hadoop。
2006年 04月 -- 标准排序 (10 GB每个节点) 在188个节点上运行 47.9个小时。
2006年 05月 -- 雅虎建立了一个 300个节点的Hadoop 研究集群。
2006年 05月 -- 标准排序在 500个节点上运行42 个小时(硬件配置比 4月的更好) 。
2006年 11月 -- 研究集群增加到 600个节点。
2006年 12月 -- 标准排序在 20个节点上运行1.8 个小时, 100个节点3.3 小时,500个节点 5.2小时,900 个节点7.8个小时。
2007年 01月 -- 研究集群到达 900个节点。
2007年 04月 -- 研究集群达到两个 1000个节点的集群。
2008年 04月 -- 赢得世界最快 1TB数据排序在900 个节点上用时 209秒。
2008年 10月 -- 研究集群每天装载 10 TB的数据。
2009年 03月 -- 17 个集群总共 24 000台机器。
2009年 04月 -- 赢得每分钟排序, 59秒内排序500 GB( 在1400个节点上 )和173 分钟内排序 100 TB数据(在3400个节点上 )。
Hadoop初步认识的更多相关文章
- hadoop学习第一天-hadoop初步环境搭建&伪分布式计算配置(详细)
一.虚拟机环境搭建 我们用的虚拟机为vmware,Linux镜像为centOS6.5. vmware安装 安装没什么多说的,一路下一步,但是在新建虚拟机的时候有两个地方需要注意: 1.分配处理器1个就 ...
- Hadoop初步简介
Hadoop产生背景: 传统方式,我们使用数据库来对数据进行管理.可是随着数据量的增加,我们要对这个数据库中的海量数据进行处理, 从中提取出有效的信息,这时候面临的问题随之而来: 1.海量数据读取,采 ...
- Hadoop初步学习
我们老板理解的大数据是,从数据到知识的转化.大数据目前的应用如 支付宝金融大数据.腾讯出行大数据等. 大数据的工作就是从海量数据源中筛选,梳理对自己有用的数据,整合成合适的数据结构,存储并进行可视化. ...
- CentOS 配置hadoop
Hadoop是用作处理大数据用的,核心是HDFS.Map/Reduce.虽然目前工作中不需要使用这个,但是,技多不压身,经过虚拟机很多遍的尝试,终于将Hadoop2.5.2的环境顺利搭建起来了. ...
- hadoop搭建初步总结
1.安装JDK1.1上传运用软件FileZilla,将windows上的jdk压缩包放到linux的root目录下 1.2解压jdk #创建文件夹 mkdir /usr/java(不要挂在在" ...
- Hadoop: the definitive guide 第三版 拾遗 第十二章 之Hive初步
Hive简介 Hive是建立在 Hadoop 上的数据仓库基础构架.它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储.查询和分析存储在 Hadoop 中的大规模数据的机制 ...
- Hadoop的初步理解
一.整体思维导图 二.HDFS(Hadoop分布式文件系统) 说明 NameNode:保存整个文件系统的目录信息.文件信息及分块信息,这是由唯一一台主机专门保存,当然这台主机如果出错,NameNode ...
- hadoop之mapreduce编程实例(系统日志初步清洗过滤处理)
刚刚开始接触hadoop的时候,总觉得必须要先安装hadoop集群才能开始学习MR编程,其实并不用这样,当然如果你有条件有机器那最好是自己安装配置一个hadoop集群,这样你会更容易理解其工作原理.我 ...
- Hadoop MapReduce 初步学习总结
在Hadoop中一个作业被提交后,其后具体的执行流程要经历Map任务的提交中间结果处理,Reduce任务的分配和执行直至完成这些过程,下面就是MapReduce中作业详细的执行流程图(摘自<Ha ...
随机推荐
- ZigBee 入网详解
本文将根据Sniffer来详细解释ZigBee终端设备入网的整个流程,原创博文. 当协调器建立好网络后,终端设备执行zb_startrequest函数,准备入网时,他们两者之间详细的流程如下.
- MSDN 2005 安装问题
在安装玩Visual Studio MSDN 2005时,经常会出现这种问题:“无法显示 Microsoft 文档资源管理器,因为指定的帮助集合“ms-help://MS.MSDNQTR.v” 网上 ...
- Android 源码编译 步骤
添加资源后编译步骤 1:lunch 112:mmm frameworks/base/core/res/生成Install: out/target/product/hammerhead/system/f ...
- DTcms 导航选中样式以及简化方法
(建议使用方法2,执行效率略高) 一般用于导航不能循环输出的情况. 可以循环输出导航的情况直接用if判断即可. 首页模版中顶部,自定义c#代码. <%set string channel=&qu ...
- WinForm C#全局错误捕捉处理【整理】
static class Program { /// <summary> /// 应用程序的主入口点. /// </summary> [STAThread] static vo ...
- 转载 C# BindingSource
1.引言 BindingSource组件是数据源和控件间的一座桥,同时提供了大量的API和Event供我们使用.使用这些API我们可以将Code与各种具体类型数据源进行解耦:使用这些Event我们可以 ...
- MAC机中安装RUBY环境
在安装CocoaPods之前要先配置好RUBY环境,本文就怎么安装RUBY的环境进行一总结.安装Ruby环境首先需要安装Xcode然后需要安装Homebrew,接下来需要安装RVM最后安装Ruby环境 ...
- jquery Loading图片延迟加载特效
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- CentOS 安装配置memcached (转)
1.先下载memcached 和libevent. libevent 最新的稳定版: wget http://monkey.org/~provos/libevent-1.4.14b-stable.ta ...
- 添加打印机的时候怎样说windows没法连接到打印机毛病为0x00000002
把PrinterExtensionsandNotifications这个服务启动1下试试 PrintSpooler服务停止然后再启用试试