Hadoop简介

一、什么是Hadoop?

Hadoop是一个适合大数据的分布式存储和计算平台(框架平台/技术生态圈)

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

二、Hadoop的特点

  • 扩容能力(Scalable):Hadoop在计算机集群内分配数据并完成计算任务,集群可以方便的扩展到数以千计的节点;
  • 低成本(Economical):Hadoop通过普通廉价的机器组成服务器集群来分发以及处理数据,以至于成本很低;
  • 高效率(Efficient):Hadoop可以在节点之间动态并行的移动数据,使得速度非常快;
  • 可靠性(Rellable):能够自动维护数据的多份复制(副本),并且在任务失败后能够自动的重新部署计算任务

三、Hadoop的发行版本

目前Hadoop发行版本非常多,由Cloudera发行版(CDH)、Hortonworks发行版、华为发行版、Intel发行版等,所有的这些发行版都是基于Apache Hadoop衍生出来的。

企业中主要要到三个版本分别是:Apache Hadoop版本(最原始的,所有发行版均基于这个版本进行改造)、Cloudera版本(Clouderas Distribution Including Apache Hadoop, 简称“CDH”)、Hortonworks版本(Hortonworks Data Platform,简称“HDP”)

  • Apache Hadoop 原始版本(学习阶段方便)

       官网地址:http://hadoop.apache.org/

  • 软件收费版ClouderaManager(生产环境强烈推荐)

       官网地址:https://www.cloudera.com/

  • 免费开源版本HortonWorks(已被ClouderaManager公司收购)

        官网地址:https://hortonworks.com/

   Apache Hadoop版本更迭

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

四、Hadoop的劣势

  • Hadoop不适用于低延迟数据访问;
  • Hadoop不能高校存储大量小文件;
  • Hadoop不支持多用户写入并任意修改文件。

五、Hadoop的组成

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

     1. hadoop HDFS:(HadoopDistrbute File System)一个高可靠、高吞吐量的文件系统

         "分而治之"——数据切割、制作副本、分散存储

          涉及到的几个角色(也是进程名,所在计算机节点名称)

           NameNode(nn):Master节点,管理维护存储文件的元数据,比如文件名、文件目录结构、文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等。

           SecondaryNameNode(2nn):辅助NameNode更好的工作,用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据快照。

           DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验。

    2、Hadoop MapReduce:一个分布式的离线并行计算框架

          拆解任务、分散处理、汇总结果

          MapReduce计算 = Map阶段 + Reduce阶段

          Map阶段就是“分”的阶段,并行处理输入数据;

          Reduce阶段就是“合”的阶段,对Map阶段结果进行汇总;

    3、Hadoop YARN:作业调度与集群资源管理的框架

          计算资源协调

   涉及到的几个角色(也是进程名,所在计算机节点名称)

   ResourceManager(rm):master ,处理客户端请求、启动/监控ApplicationMaster、监控NodeManager、资源分配与调度;

   NodeManager(nm):每个节点上的资源管理、处理来自ResourceManager的命令、处理来自ApplicationMaster的命令;

   ApplicationMaster(am):数据切分、为应用程序申请资源,并分配给内部任务、任务监控与容错;

   Container:对任务运行环境的抽象,封装了CPU、内存等多维资源及环境变量、启动命令等任务运行相关信息

   ResounceManager是老大,NodeManager是小弟,ApplicationMaster是计算任务专员

4、Hadoop Common:支持其他模块的工具模块(Configuration、RPC、序列化机制、日志操作)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值