hadoop入门(5):了解hadoop

hadoop的起源

  • 阶段一

    Hadoop最早起源于Nutch。Nutch的设计目标是构建一个大型的全网搜索引擎,包括网页抓取、索引、查询等功能,但随着抓取网页数量的增加,遇到了严重的可扩展性问题——如何解决数十亿网页的存储和索引问题。
  • 阶段二

    2003年、2004年谷歌发表的两篇论文为该问题提供了可行的解决方案。
    ——分布式文件系统(GFS),可用于处理海量网页的存储
    ——分布式计算框架MAPREDUCE,可用于处理海量网页的索引计算问题。
  • 阶段三

    Nutch的开发人员完成了相应的开源实现HDFS和MAPREDUCE,并从Nutch中剥离成为独立项目HADOOP,到2008年1月,HADOOP成为Apache*项目(同年,cloudera公司成立),迎来了它的快速发展期。
    狭义上来说,hadoop就是单独指代hadoop这个软件,
    广义上来说,hadoop指代大数据的一个生态圈,包括很多其他的软件
    hadoop入门(5):了解hadoop

hadoop的版本及选择

  • hadoop发展版本

    • 0.x版本:hadoop较早的一个开源版本,在此基础上发展的1.x和2.x版本

    • 1.x版本:hadoop的第二代开源版本,主要修复了0.x版本的一些bug

    • 2.x版本:架构发生了重大变化,引入了yarn平台,也是现在生产环境中使用最多的版本

    • 3.x版本:在2.x版本基础上引入了一些hdfs新性质,且已发展为稳定版本,未来公司使用趋势

  • hadoop发行版本

    • Apache版本

      最基础的版本适合入门学习
    • Cloudera版本

      大型互联网企业使用
    • Hortonworks版本

      文档很不错
    • ……

hadoop的运行模式

  • 本地运行模式

    无需任何守护进程,所有进程都在一个JVM上运行。在独立模式下调试MR程序的时候非常高效方便。所以一般该模式下一般是学习或开发阶段调试使用

  • 伪分布式运行模式

    hadoop的守护进程运行在本地机器上,模拟一个小规模的集群,换句话说可以配置一台机器的hadoop集群
    伪分布式是完全分布式的一个特例

  • 完全分布式运行模式(重点)

    hadoop守护进程运行在一个集群上,需要多台机器来实现完全分布式服务的安装

hadoop的架构模块

hadoop入门(5):了解hadoop
  • hadoop由三个模块组成

    • 分布式存储HDFS
    • 分布式计算MapReduce
    • 资源调度引擎YARN
hadoop入门(5):了解hadoop
  • 关键词

    • 分布式
    • 主从架构

HDFS架构剖析

  • 分块存储

    • 在hadoop2.x中,保存文件到HDFS时,会默认按128M的单位将文件分割成一个个block块
    • 数据以block块的形式存储在HDFS文件系统中
<property>
  <name>dfs.blocksize</name>
  <value>块的大小,以字节为单位</value>  <!-- 只写数值即可 -->
</property>
  • 副本存储

    • 为了保存block块的安全性,也就是数据的安全性,在hadoop2.x中采用文件,默认保存三个副本,我们可以更改副本的数量来提高数据的安全性
      • 副本的数量可以在hdfs-site.xml中进行修改
<property>
  <name>dfs.replication</name>
  <value>3</value>  <!-- 默认为3 -->
</property>
  • 抽象成块的好处

    • 可以存放很大的文件
    • 使用块抽象而不是文件,可以很好简化存储子系统
    • 块非常适合数据备份,进而提供输入容错性和可用性
  • HDFS架构

    • HDFS集群包括:NameNode、DataNode、Secondary NameNode

      • NameNode:负责管理整个系统的元数据,以及每一个路径(文件)所对应的数据块信息
      • DataNode:负责管理用户的文件数据块,每一个数据块都可以在多个datanode上存储多个副本
      • Secondary NameNode:用来监控HDFS系统状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。最主要的作用是辅助namenode管理元数据信息。
上一篇:linux 删除乱码文件


下一篇:剑指offer学习笔记:39数组中出现次数超过一半的数字