关于大数据:11-Hadoop简介

43次阅读

共计 3044 个字符,预计需要花费 8 分钟才能阅读完成。

本系列文章次要记录了在拉勾大数据课程中的学习心得


1.Hadoop 是什么

Hadoop 是一个适宜 大数据 分布式 存储 计算 平台。
广义上说 Hadoop 就是一个框架平台。
狭义上讲 Hadoop 代表大数据的一个技术生态圈,包含很多其他软件框架

Hadoop 生态圈技术栈
Hadoop(HDFS+MapReduce+Yarn)
Hive 数据仓库工具
HBase 海量列示非关系型数据库
Flume 数据采集工具
Sqoop ETL 工具
Kafka 高吞吐消息中间件
……

2.Hadoop 的起源

  • Hadoop 最早起源于 Nutch,Nutch 的创始人是 Doug Cutting。

    Nutch 是一个开源 Java 实现的搜索引擎。它提供了咱们运行本人的搜索引擎所需的全副工具。包含全文搜寻和 Web 爬虫,但随着抓取网页数量的减少,遇到了重大的可扩展性问题——如何解决数十亿网页的存储和索引问题。

  • 2003 年、2004 年谷歌发表的两篇论文为该问题提供了可行的解决方案。GFS,可用于解决海量网页的存储;MapReduce,可用于解决海量网页的索引计算问题。
  • 随后,Google 颁布了局部 GFS 和 MapReduce 思维的细节,Doug Cutting 等人用 2 年的业余时间实现了 DFS 和 MapReduce 机制,使 Nutch 性能飙升。

    Google 的三篇论文(三驾马车)
    GFS:Google 的分布式文件系统(Google File System)
    MapReduce:Google 的分布式计算框架
    BigTable:大型分布式数据库
    倒退演变关系:
    GFS —> HDFS
    Google MapReduce —> Hadoop MapReduce
    BigTable —> HBase

  • 2005 年,Hadoop 作为 Lucene 的子项目 Nutch 的一部分引入 Apache
  • 2006 年,Hadoop 从 Nutch 剥离进去独立
  • 2008 年,Hadoop 成为 Apache 的顶级我的项目
  • Hadoop 这个名字来源于 Hadoop 之父 Doug Cutting 儿子的毛绒玩具象

3.Hadoop 的发行版本

目前 Hadoop 发行版十分多,有 Cloudera 发行版(CDH)、Hortonworks 发行版、华为发行版、Intel 发行版等,所有这些发行版均是基于 Apache Hadoop 衍生进去的,之所以有这么多的版本,是由 Apache Hadoop 的开源协定决定的(任何人能够对其进行批改,并作为开源或商业产品公布 / 销售)。
企业中次要用到的三个版本别离是:Apache Hadoop 版本(最原始的,所有发行版均基于这个版本进行改良)、Cloudera 版本(Cloudera’s Distribution Including Apache Hadoop,简称“CDH”)、Hortonworks 版本(Hortonworks Data Platform,简称“HDP”)。

  • Apache Hadoop 原始版本
    官网地址:http://hadoop.apache.org/
    长处:领有全世界的开源奉献,代码更新版本比拟快
    毛病:版本的降级,版本的保护,以及版本之间的兼容性,学习十分不便
    Apache 所有软件的下载地址(包含各种历史版本):http://archive.apache.org/dist/
  • 软件免费版本 ClouderaManager CDH 版本 – 生产环境应用
    官网地址:https://www.cloudera.com/
    Cloudera 次要是美国一家大数据公司在 Apache 开源 Hadoop 的版本上,通过本人公司外部的各种补丁,实现版本之间的稳固运行,大数据生态圈的各个版本的软件都提供了对应的版本,解决了版本的降级艰难,版本兼容性等各种问题,生产环境强烈推荐应用
  • 收费开源版本 HortonWorks HDP 版本 – 生产环境应用
    官网地址:https://hortonworks.com/
    hortonworks 次要是雅虎主导 Hadoop 开发的副总裁,率领二十几个核心成员成立 Hortonworks,外围产品软件 HDP(ambari),HDF 收费开源,并且提供一整套的 web 治理界面,供咱们能够通过 web 界面治理咱们的集群状态,web 治理界面软件 HDF 网址(http://ambari.apache.org/)

4.Apache Hadoop 版本迭代

  • 0.x 系列版本:Hadoop 当中最早的一个开源版本,在此基础上演变而来的 1.x 以及 2.x 的版本
  • 1.x 版本系列:Hadoop 版本当中的第二代开源版本,次要修复 0.x 版本的一些 bug 等
  • 2.x 版本系列:架构产生重大变动,引入了 yarn 平台等许多新个性
  • 3.x 版本系列:EC 技术、YARN 的时间轴服务等新个性

5.Hadoop 的优缺点

Hadoop 的长处

  • 扩容能力 Hadoop 是在计算机集群内调配数据并实现计算工作,集群能够不便的扩大到数以千计个节点
  • 低成本 Hadoop 通过一般便宜的机器组成服务器集群来散发以及解决数据,使得老本很低
  • 高效率 Hadoop 能够在节点之间动静并行的挪动数据,使得速度十分快
  • 可靠性 能主动保护数据得多份复制,并且在工作失败后能主动的重新部署(redeploy) 计算工作

Hadoop 的毛病

  • Hadoop 不适用于低提早数据拜访。
  • Hadoop 不能高效存储大量小文件。
  • Hadoop 不反对多用户写入并任意批改文件。

6.Apeche Hadoop 框架的组成部分

Hadoop=HDFS(分布式文件系统)+MapReduce(分布式计算框架)+Yarn(资源协调框架)+Common 模块

  1. Hadoop HDFS:(Hadoop Distribute File System)一个高牢靠、高吞吐量的分布式文件系统。通过数据切割、制作正本、扩散贮存来保证数据的安全可靠。
    在 HDFS 文件系统中,存在如图所示的三个角色

    NameNode(nn):存储文件的元数据,比方文件名、文件目录构造、文件属性(生成工夫、正本数、文件权限),以及每个文件的块列表和块所在的 DataNode 等。
    SecondaryNameNode(2nn):辅助 NameNode 更好的工作,用来监控 HDFS 状态的辅助后台程序,每隔一段时间获取 HDFS 元数据快照。
    DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验
  2. Hadoop MapReduce:一个分布式的离线并行计算框架
    MapReduce 计算 = Map 阶段 + Reduce 阶段
    Map 阶段就是“分”的阶段,并行处理输出数据;
    Reduce 阶段就是“合”的阶段,对 Map 阶段后果进行汇总;
  3. Hadoop YARN:作业调度与集群资源管理的框架

    Yarn 中有如下几个次要角色:
    ResourceManager(rm):解决客户端申请、启动 / 监控 ApplicationMaster、监控
    NodeManager、资源分配与调度;
    NodeManager(nm):单个节点上的资源管理、解决来自 ResourceManager 的命令、解决来自
    ApplicationMaster 的命令;
    ApplicationMaster(am):数据切分、为应用程序申请资源,并调配给外部工作、工作监控与容
    错。
    Container:对工作运行环境的形象,封装了 CPU、内存等多维资源以及环境变量、启动命令等任
    务运行相干的信息。
    ResourceManager 是老大,NodeManager 是小弟,ApplicationMaster 是计算工作专员。
  4. Hadoop Common:反对其余模块的工具模(Configuration、RPC、序列化机制、日志操作)
正文完
 0