微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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的发展

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由三个模块组成

    • 分布式存储HDFS
    • 分布式计算MapReduce
    • 资源调度引擎YARN

  • 关键词

    • 分布式
    • 主从架构

HDFS架构剖析

  • 分块存储

<property>
  <name>dfs.blocksize</name>
  <value>块的大小,以字节为单位</value>  <!-- 只写数值即可 -->
</property>
  • 副本存储

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

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

    • HDFS集群包括NameNode、Datanode、Secondary NameNode

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐