热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

hadoop入门(5):了解hadoop

hadoop的起源阶段一Hadoop最早起源于Nutch。Nutch的设计目标是构建一个大型的全网搜索引擎,包括网页抓取、索引、查询等功能,但随着抓取网页数量的增加,遇到了严重的可

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架构剖析




  • 分块存储



    • 在hadoop2.x中,保存文件到HDFS时,会默认按128M的单位将文件分割成一个个block块

    • 数据以block块的形式存储在HDFS文件系统中

      • block块的大小可以在hdfs-site.xml中进行修改

      • hdfs-default.xml






dfs.blocksize
块的大小,以字节为单位




  • 副本存储



    • 为了保存block块的安全性,也就是数据的安全性,在hadoop2.x中采用文件,默认保存三个副本,我们可以更改副本的数量来提高数据的安全性

      • 副本的数量可以在hdfs-site.xml中进行修改






dfs.replication
3




  • 抽象成块的好处



    • 可以存放很大的文件

    • 使用块抽象而不是文件,可以很好简化存储子系统

    • 块非常适合数据备份,进而提供输入容错性和可用性




  • HDFS架构




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



      • NameNode:负责管理整个系统的元数据,以及每一个路径(文件)所对应的数据块信息

      • DataNode:负责管理用户的文件数据块,每一个数据块都可以在多个datanode上存储多个副本

      • Secondary NameNode:用来监控HDFS系统状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。最主要的作用是辅助namenode管理元数据信息。







推荐阅读
  • Java开发实战讲解!字节跳动三场技术面+HR面
    二、回顾整理阿里面试题基本就这样了,还有一些零星的问题想不起来了,答案也整理出来了。自我介绍JVM如何加载一个类的过程,双亲委派模型中有 ... [详细]
  • 我们在之前的文章中已经初步介绍了Cloudera。hadoop基础----hadoop实战(零)-----hadoop的平台版本选择从版本选择这篇文章中我们了解到除了hadoop官方版本外很多 ... [详细]
  • 前言折腾了一段时间hadoop的部署管理,写下此系列博客记录一下。为了避免各位做部署这种重复性的劳动,我已经把部署的步骤写成脚本,各位只需要按着本文把脚本执行完,整个环境基本就部署 ... [详细]
  • Hadoop之Yarn
    目录1Hadoop1.x和Hadoop2.x架构区别2Yarn概述3Yarn基本架构4Yarn工作机制5作业提交全过程6资源调度器7任务的推测执行1Hadoop1.x和Hadoo ... [详细]
  • hbase伪集群搭建
    hbase数据存储有三种跑法,跑在本地磁盘上、跑在伪分布式上、跑在完全分布式上--------额。。。官网的文档挺坑爹的,结合官网、百度、谷歌的各种 ... [详细]
  •     这里使用自己编译的hadoop-2.7.0版本部署在windows上,记得几年前,部署hadoop需要借助于cygwin,还需要开启ssh服务,最近发现,原来不需要借助cy ... [详细]
  • Hadoop2.6.0 + 云centos +伪分布式只谈部署
    3.0.3玩不好,现将2.6.0tar.gz上传到usr,chmod-Rhadoop:hadophadoop-2.6.0,rm掉3.0.32.在etcp ... [详细]
  • Hadoop源码解析1Hadoop工程包架构解析
    1 Hadoop中各工程包依赖简述   Google的核心竞争技术是它的计算平台。Google的大牛们用了下面5篇文章,介绍了它们的计算设施。   GoogleCluster:ht ... [详细]
  • mapreduce源码分析总结
    这篇文章总结的非常到位,故而转之一MapReduce概述MapReduce是一个用于大规模数据处理的分布式计算模型,它最初是由Google工程师设计并实现的ÿ ... [详细]
  • MR程序的几种提交运行模式本地模型运行1在windows的eclipse里面直接运行main方法,就会将job提交给本地执行器localjobrunner执行-- ... [详细]
  • Kylin 单节点安装
    软件环境Hadoop:2.7,3.1(sincev2.5)Hive:0.13-1.2.1HBase:1.1,2.0(sincev2.5)Spark(optional)2.3.0K ... [详细]
  •        在搭建Hadoop环境之前,请先阅读如下博文,把搭建Hadoop环境之前的准备工作做好,博文如下:       1、CentOS6.7下安装JDK,地址:http:b ... [详细]
  • MapReduce工作流程最详细解释
    MapReduce是我们再进行离线大数据处理的时候经常要使用的计算模型,MapReduce的计算过程被封装的很好,我们只用使用Map和Reduce函数,所以对其整体的计算过程不是太 ... [详细]
  • HadoopYARN集群是一个通用的资源管理平台,可为各类计算框架提供资源的管理和调度。其核心是通过一个全局的资源管理器来实现分离资源管理与作业调度监控。Hadoop ... [详细]
  • Spark面试题汇总大全
    1RDD简介RDD是Spark最基本也是最根本的数据抽象,它具备像MapReduce等数据流模型的容错性,并且允许开发人员在大型集群上执行基于内存的计 ... [详细]
author-avatar
mobiledu2502861767
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有