hadoop入门

一,前言

    先扯一下大数据的4V特征:
      1.Volume,数量,即数据量大。
      2.Variety,多样,数据类型繁多,结构化、非结构化文本、日志、视频、图片、地理位置等。
      3.Velocity,速度,速度主要体现在两个方面,数据挖掘的速度和处理的时效性。
      4.Veracity,真实性,数据真实有效。

   目前流行的大数据架构:

      文件存储:Hadoop HDFS、Tachyon、KFS
      离线计算:Hadoop MapReduce、Spark
      流式、实时计算:Storm、Spark Streaming、S4、Heron
      K-V、NOSQL数据库:HBase、Redis、MongoDB
      资源管理:YARN、Mesos
      日志收集:Flume、Scribe、Logstash、Kibana
      消息系统:Kafka、StormMQ、ZeroMQ、RabbitMQ
      查询分析:Hive、Impala、Pig、Presto、Phoenix、SparkSQL、Drill、Flink、Kylin、Druid
      分布式协调服务:Zookeeper
      集群管理与监控:Ambari、Ganglia、Nagios、Cloudera Manager
      数据挖掘、机器学习:Mahout、Spark MLLib
      数据同步:Sqoop
      任务调度:Oozie

二,hadoop简介

     (1).hadoop定义
      Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
      用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
   (2),hadoop核心
      hadoop的核心是HDFS(Hadoop Distributed FileSystem分布式文件系统)和MapReduce.
       1.DHFS
           hdfs主要是为海量数据提供了存储,它其实是将一个大文件分成若干块保存在不同服务器的多个节点中。通过联网让用户感觉像是在本地一样查看文件,为了降低文件丢失造成的错误,它会为每个小文件复制多个副本(默认为三个),以此来实现多机器上的多用户分享文件和存储空间。
        2.MapReduce为海量的数据提供了计算。在提供计算的基础之上MapReduce可以按比例增加从单个服务器向成千上万的高端和低端机的互补SQL提供的功能,这是系统的一种新方法

三,hadoop版本比较

     1.hadoop1.0

         Hadoop1.0即第一代Hadoop,指的是版本为Apache Hadoop 0.20.x、1.x或者CDH3系列的Hadoop,内核主要由HDFS和MapReduce两个系统组成,其中MapReduce是一个离线处理框架,由编程模型(新旧API)、运行时环境(JobTracker和TaskTracker)和数据处理引擎(MapTask和ReduceTask)三部分组成。

     2.hadoop2.0

       Hadoop2.0即第二代Hadoop,指的是版本为Apache Hadoop 0.23.x、2.x或者CDH4系列的Hadoop,内核主要由HDFS、MapReduce和YARN三个系统组成,其中YARN是一个资源管理系统,负责集群资源管理和调度,MapReduce则是运行在YARN上的离线处理框架,它与Hadoop 1.0中的MapReduce在编程模型(新旧API)和数据处理引擎(MapTask和ReduceTask)两个方面是相同的。

     

 

   3.总结

   

1.从Hadoop整体框架来说

Hadoop1.0由分布式存储系统HDFS和分布式计算框架MapReduce组成,其中HDFS由一个NameNode和多个DateNode组成,MapReduce由一个JobTracker和多个TaskTracker组成。
Hadoop2.0为克服Hadoop1.0中的不足进行了下面改进:

1、针对Hadoop1.0单NameNode制约HDFS的扩展性问题,提出HDFS Federation,它让多个NameNode分管不同的目录进而实现访问隔离和横向扩展,同时彻底解决了NameNode单点故障问题;

2、针对Hadoop1.0中的MapReduce在扩展性和多框架支持等方面的不足,它将JobTracker中的资源管理和作业控制分开,分别由ResourceManager(负责所有应用程序的资源分配)和ApplicationMaster(负责管理一个应用程序)实现,即引入了资源管理框架Yarn。
3、Yarn作为Hadoop2.0中的资源管理系统,它是一个通用的资源管理模块,可为各类应用程序进行资源管理和调度,不仅限于MapReduce一种框架,也可以为其他框架使用,如Tez、Spark、Storm等

2.从MapReduce计算框架来讲

MapReduce1.0计算框架主要由三部分组成:编程模型、数据处理引擎和运行时环境。它的基本编程模型是将问题抽象成Map和Reduce两个阶段,其中Map阶段将输入的数据解析成key/value,迭代调用map()函数处理后,再以key/value的形式输出到本地目录,Reduce阶段将key相同的value进行规约处理,并将最终结果写到HDFS上;它的数据处理引擎由MapTask和ReduceTask组成,分别负责Map阶段逻辑和Reduce阶段的逻辑处理;它的运行时环境由一个JobTracker和若干个TaskTracker两类服务组成,其中JobTracker负责资源管理和所有作业的控制,TaskTracker负责接收来自JobTracker的命令并执行它。

MapReducer2.0具有与MRv1相同的编程模型和数据处理引擎,唯一不同的是运行时环境。MRv2是在MRv1基础上经加工之后,运行于资源管理框架Yarn之上的计算框架MapReduce。它的运行时环境不再由JobTracker和TaskTracker等服务组成,而是变为通用资源管理系统Yarn和作业控制进程ApplicationMaster,其中Yarn负责资源管理的调度而ApplicationMaster负责作业的管理。

Hadoop1与Hadoop2的区分还是非常大,HDFS和MR都有不同,最起码的配置文件就不一样。项目应用的话,建议尽量往高版本走。稳健一点的话稍低于最高版本的一个稳定版本即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值