Hadoop学习---必先了解基础概念

前言

虽然大部分人对历史不是太过重视,使用软件和现有的程序的时候仅仅只是当作工具,实际上技术的发展一般都是有迹可循的,当然除了黑科技以外。了解技术的发展历史,可以帮助我们随着它的发展轨迹和思路,深入的了解这个技术。可根据个人需要跳过历史介绍,另此文只适宜初学者用于了解概念。
详细内容请观看hadoop官方网站:http://hadoop.apache.org/releases.html

发展历史

  1. 雏形开始于2002年的Apache的Nutch(一种搜索引擎,包括全文搜索和Web爬虫等工具)
  2. 2003年Google发表了一篇技术学术论文谷歌文件系统(GFS)
  3. 2004年Nutch创始人Doug Cutting基于Google的GFS论文创作了分布式文件存储系统NDFS
  4. 2004年Google又发表了一篇技术学术论文MapReduce(MapReduce是一种编程模型,用于大规模数据的并行分析运算)
  5. 2005年Doug Cutting又基于MapReduce,在Nutch搜索引擎实现了其功能
  6. 2006年,Doug Cutting将NDFS和MapReduce升级命名为Hadoop

核心

核心就是HDFS和MapReduce,两者只是理论基础,不是具体可使用的高级应用
人们提起Hadoop常说的HBase、Hive等都是基于HDFS和MapReduce发展出来的

必要概念总结

一、HDFS(Hadoop分布式文件系统)

  1. HDFS是Hadoop体系中数据存储管理的基础。
  2. 它是一个高度容错的系统,能检测和应对硬件故障,用于在低成本的通用硬件上运行。
  3. 简化了文件的一致性模型,通过流式数据访问,提供高吞吐量应用程序数据访问功能,适合带有大型数据集的应用程序。
  4. 它提供了一次写入多次读取的机制,数据以块的形式,同时分布在集群不同物理机器上。

设计特点:

  • 大数据。适合TB级别的大文件存储。
  • 文件分块存储。HDFS会将大文件平均分块存储到不同计算节点上,读取文件时会同时从多个计算节点上读取不同块的文件,多主机读取比单主机读取效率要高得多。
  • 流式数据访问,一次写入多次读取。它不支持动态改变文件内容,而是要求让文件一次写入就不做变化,要变化也只能在文件末添加内容。
  • 支持廉价硬件。可以应用在普通计算机上,仅仅用几十台廉价的计算机就可以搭建起一个大数据集群。
  • 硬件故障转移。所有计算机都可能会出问题的概率,为了防止某个主机故障而读取不到该主机的块文件,它将同一个文件的块副本分配到其它某几个主机上,如果其中一台主机失效,可以迅速找另一块副本取文件。

关键元素:

  • Block: HDFS会将一个完整的文件进行分块,大小是通常是64M,可配置。默认数据块大小为64MB,可配置。若文件大小不到64MB,则单独存成一个block。类似于LVM的Block概念。

  • NameNode:保存整个文件系统的目录信息、文件信息及分块信息,就像是字典的索引。它是由唯一一台主机专门保存,这台主机如果出错,它的NameNode失效就会启动备用主机运行NameNode。

  • DataNode:分布在其他服务器上,用于存储Block块文件。文件被按大小被切分成若干个block,存储到不同节点上。
    默认每个block有三个副本。

二、Mapreduce(分布式计算框架)

原理:

  1. MapReduce是一种分布式计算模型,用以进行大数据量的计算。
  2. 屏蔽了分布式计算框架细节,将计算抽象成map和reduce两部分。
  3. Map对数据集上的内容分布式存储,做好分类。
  4. Reduce则对大数据按需求按分类进行提取分析。
  5. MapReduce非常适合在大量计算机组成的分布式并行环境里进行数据处理。

后记

以上就是学习Hadoop的基础,即必要了解的概念。
当然Hadoop不只有这些内容,还有其他子项目,适合深入研究,但在这个基础篇就先不说了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

漠效

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值