Apache Hadoop 是一个由 Apache 基金会所开发的分布式系统基础架构。可以让用户在不了解分布式底层细节的情况下,开发出可靠、可扩展的分布式计算应用。

Apache Hadoop 框架,允许用户使用简单的编程模型来实现计算机集群的大型数据集的分布式处理。它的目的是支持从单一服务器到上千台机器的扩展,充分利用了每台机器所提供本地计算和存储,而不是依靠硬件来提供高可用性。其本身被设计成在应用层检测和处理故障的库,对于计算机集群来说,其中每台机器的顶层都被设计成可以容错的,以便提供一个高度可用的服务。

Apache Hadoop 的框架最核心的设计就是:HDFS 和 MapReduce。HDFS 为海量的数据提供了存储,而 MapReduce 则为海量的数据提供了计算。

Apache Hadoop 简介

正如上一节 MapReduce 所提到的那样,Apache Hadoop 受到了 Google 的 GFS 和 MapReduce 的启发,而前者产生了 Apache Hadoop 的分布式文件系统 NDFS (Nutch Distributed File System) ,而后者也被纳入到 Apache Hadoop 作为核心组件之一。

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

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

2004年 Nutch 创始人 Doug Cutting(同时也是 Apache Lucene 的创始人) 基于 Google 的 GFS 论文实现了分布式文件存储系统名为 NDFS。

2004年 Google 又发表了一篇技术学术论文,向全世界介绍了 MapReduce。2005年 Doug Cutting 又基于 MapReduce,在 Nutch 搜索引擎实现了该功能。

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

2008年1月,Hadoop 成为了 Apache 顶级项目。之后 Hadoop 被成功的应用在了其他公司,其中包括 Last.fm、Facebook、《纽约时报》等。

2008年2月,Yahoo! 宣布其搜索引擎产品部署在一个拥有1万个内核的 Hadoop 集群上。

2008年4月,Hadoop 打破世界记录,称为最快排序1TB数据的系统。有关该报道的记录,可以参阅《Apache Hadoop Wins Terabyte Sort Benchmark》(见 https://developer.yahoo.com/blogs/hadoop/apache-hadoop-wins-terabyte-sort-benchmark-408.html)。

截止目前,Apache Hadoop 的最新版本为 2.7.3。

Apache Hadoop 它主要有以下几个优点:

高可靠性。Hadoop 按位存储和处理数据的能力值得人们信赖。
高扩展性。Hadoop 是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。
高效性。Hadoop 能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。
高容错性。Hadoop 能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。
低成本。Hadoop 是开源的,项目的软件成本因此会大大降低。
Apache Hadoop 核心组件

Apache Hadoop 包含以下模块:

Hadoop Common:常见实用工具,用来支持其他 Hadoop 模块。
Hadoop Distributed File System(HDFS):分布式文件系统,它提供对应用程序数据的高吞吐量访问。
Hadoop YARN:一个作业调度和集群资源管理框架。
Hadoop MapReduce:基于 YARN 的大型数据集的并行处理系统。
其他与 Apache Hadoop 的相关项目包括:

Ambari:一个基于Web 的工具,用于配置、管理和监控的 Apache Hadoop 集群,其中包括支持 Hadoop HDFS、Hadoop MapReduce、Hive、HCatalog、HBase、ZooKeeper、Oozie、Pig 和 Sqoop。Ambari 还提供了仪表盘查看集群的健康,如热图,并能够以用户友好的方式来查看的 MapReduce、Pig 和 Hive 应用,方便诊断其性能。
Avro:数据序列化系统。
Cassandra:可扩展的、无单点故障的多主数据库。
Chukwa:数据采集系统,用于管理大型分布式系统。
HBase:一个可扩展的分布式数据库,支持结构化数据的大表存储。(有关 HBase 的内容,会在后面章节讲述)
Hive:数据仓库基础设施,提供数据汇总以及特定的查询。

Mahout:一种可扩展的机器学习和数据挖掘库。
Pig:一个高层次的数据流并行计算语言和执行框架。
Spark:Hadoop 数据的快速和通用计算引擎。Spark 提供了简单和强大的编程模型用以支持广泛的应用,其中包括 ETL、机器学习、流处理和图形计算。(有关 Spark 的内容,会在后面章节讲述)
TEZ:通用的数据流编程框架,建立在 Hadoop YARN 之上。它提供了一个强大而灵活的引擎来执行任意 DAG 任务,以实现批量和交互式数据的处理。TEZ 正在被 Hive、Pig 和 Hadoop 生态系统中其他框架所采用,也可以通过其他商业软件(例如 ETL 工具),以取代的 Hadoop MapReduce 作为底层执行引擎。
ZooKeeper:一个高性能的分布式应用程序协调服务。(有关 ZooKeeper 的内容,会在后面章节讲述)

很多人都知道我有大数据培训资料,都天真的以为我有全套的大数据开发、hadoop、spark等视频学习资料。我想说你们是对的,我的确有大数据开发、hadoop、spark的全套视频资料。
如果你对大数据开发感兴趣可以加口群领取免费学****习资料: 763835121

转载于:https://blog.51cto.com/11275216/2114821

Apache Hadoop 入门教程第一章相关推荐

  1. drupal 6.0 入门教程 - 第一章

    由于工作项目的原因,需要采用drupal来部署,所以最近学习了drupal cms,天天到 drupal.org,drupalchina.org ,zhupou.cn ,5iphp.com上学习 项目 ...

  2. 《进击吧!Blazor!》系列入门教程 第一章 7.图表

    作者备注 <进击吧!Blazor!>是本人与张善友老师合作的Blazor零基础入门系列视频,此系列能让一个从未接触过Blazor的程序员掌握开发Blazor应用的能力. 视频地址:http ...

  3. vb入门教程-第一章HELLO WORLD

    本文来自:http://www.docsky.com/show.asp?id=2068一共四章将陆续贴出,请关注 第一章 HELLO WORLD! 没学过编程的人常常会问,编程难不难,这个问题很难回答 ...

  4. 《进击吧!Blazor!》系列入门教程 第一章 4.数据交互

    <进击吧!Blazor!>是本人与张善友老师合作的Blazor零基础入门教程视频,此教程能让一个从未接触过Blazor的程序员掌握开发Blazor应用的能力. 视频地址:https://s ...

  5. 《进击吧!Blazor!》系列入门教程 第一章 8.部署

    <进击吧!Blazor!>是本人与张善友老师合作的Blazor零基础入门教程视频,此教程能让一个从未接触过Blazor的程序员掌握开发Blazor应用的能力. 视频地址:https://s ...

  6. 《进击吧!Blazor!》系列入门教程 第一章 3.页面制作

    <进击吧!Blazor!>是本人与张善友老师合作的Blazor零基础入门教程视频,此教程能让一个从未接触过Blazor的程序员掌握开发Blazor应用的能力. 视频地址:https://s ...

  7. Apache Hadoop 入门教程

    原文同步至 http://waylau.com/about-hadoop/ Apache Hadoop 是一个由 Apache 基金会所开发的分布式系统基础架构.可以让用户在不了解分布式底层细节的情况 ...

  8. storm入门教程 第一章 前言[转]

    1.1   实时流计算 互联网从诞生的第一时间起,对世界的最大的改变就是让信息能够实时交互,从而大大加速了各个环节的效率.正因为大家对信息实时响应.实时交互的需求,软件行业除了个人操作系统之外,数据库 ...

  9. ROS保姆级0基础入门教程⭐ |第一章 ROS的概述与环境搭建(4万字教程,建议收藏)

    目录 1 ROS简介 1.1 ROS概念 1.2 ROS设计目标 1.3 ROS发展历程 2 ROS安装 2.1安装ubuntu 2.2 安装 ROS 2.3 测试 ROS 3 ROS快速体验 3.1 ...

最新文章

  1. 047_CSS3多列
  2. AI理论知识基础(26)-相对熵,KL散度
  3. java的数据类型如下所示
  4. Java学习小程序(5)猜数字游戏
  5. Supervisord进程管家
  6. oracle rank 语法_oracle rank函数怎么用
  7. vsftp 虚拟用户测试
  8. 【11.18总结】从SAML出发在重定向中发现的XSS漏洞
  9. php中数组的指针函数参数传递参数,循环语句、函数的参数及作用域、数组键值及指针操作函数(8月23日作业)...
  10. android游戏开发学习笔记一(学习书籍 Android游戏编程之从零开始)
  11. 免费培训后包就业,还月薪上万,深扒BI数据工程师培训套路
  12. 电商 购物车-订单-支付流程
  13. js实现漂亮的雪花飘落效果
  14. 判断入射满射c语言编码,例4,判断下列函数是否是满射、单射、双射。.PDF
  15. ceph监控管理平台calamari
  16. 数据结构—串-基本知识点(第五章)
  17. 替换读到的文件中的某一元素 pd 格式
  18. CentOS 7.8安装mysql 5.7.30
  19. 辉芒微IO单片机FT60F210-URT
  20. 病毒丨熊猫烧香病毒分析

热门文章

  1. qt槽函数如何传递多个参数_Qt:在发出信号后尝试将多个引用传递给槽函数
  2. 用python赚零花钱_用Python拓展副业的几种方式
  3. xamarin拖一个gridview控件报错怎么解决_[笔记阁]Xamarin初探:版式面板(一)
  4. python os模块详细_Python文件系统功能--os模块详解
  5. 线性回归损失函数为什么要用平方形式
  6. 【技术综述】基于弱监督深度学习的图像分割方法综述​
  7. 【AI杂谈】从一篇参考文献比正文还长的文章,杂谈深度学习综述
  8. 深度学习之路孤单吗?我们带你进组织!
  9. 全球及中国苯基异丙基聚二甲基硅氧烷市场需求调查与竞争格局策略报告2022版
  10. 「Codeforces」598E (区间dp)