第一章《数据之路,始于Hadoop》第一节 Hadoop 基础介绍

第一节    hadoop介绍node

    大数据时代最重要的论文是Google三篇,分布讲述了GFS、MapReduce和BigTable。而依照前两篇论文设计的开源项目Hadoop,则迅速风靡,成为了大数据行业的事实标准。Google的论文建议要看,尤为是前2偏,其实并无难度,看完对于Hadoop的理解会更加清晰。web

    大数据为何会兴起?没有大数据之前是怎么作的?这2个问题其实以个人经验回答不是很合适,可是既然提到,就仅从我的的经验出发来讲下必要性进入大数据行业第一节公司是一个移动SDK公司,主要是嵌入SDK经过展现广告、APP推荐下载等来给开发者带来收入。当时的第一个项目是分析这些SDK一天的日志(apache日志),对下载的每一个APP按省份作一个排序。任务交给了SDK开发团队,具体的方案不清楚,可是一天的数据须要跑10小时以上(记忆模糊,4年前文章提到过此事)。后来用Hadoop,写了简单的MR处理,大概10多分钟就搞定了,这就是大数据存在的意义,也能从一个角度反应为何会兴起。
apache

    关于Hadoop,首先必需要介绍下概念?如今有不少初学者,一上来就问Datanode是什么?Datanode和NodeManager能不能在一台节点上?对于这种问题,个人回答都是“过小白,先看看书吧”。对于Hadoop的学习,不少人从Cloudera Manager或者Ambari开始,我我的很是不建议。我仍是以为实战前,先看看书,至少翻一本熟悉了之后,其余的能够边学边研究。而一开始就极度依赖这些工具,概念不清楚,至少会让人以为不专业,不是认真学习的料子。api

  1.     版本和分支:
    参考官方wiki,
    https://wiki.apache.org/hadoop/Roadmap,目前hadoop主流分支有3条,分别是hadoop 1.X、hadoop 2.X和hadoop 3.X。
    Hadoop1.X是从hadoop 0.20发展而来,我还记得12刚开始玩hadoop的时候就是0.20.2,那时候在公司用的就是cdh3u3,后来的公司升级到了1.0,可是一直到14年离职,也都仍是1.X,没有升级到2.x,另外朋友私下聊天,其实那个时候仍是以1.X为主的,2.X通常是新建集群才会使用。主要的缘由就是由于升级中的风险,升级的详细过程董西城老师有文章详细介绍:
    http://dongxicheng.org/mapreduce-nextgen/hadoop-upgrade-to-version-2/
    Hadoop 2.XHadoop2.0除了api的改动,对外界最大的感知就是增长了Yarn做为mapreduce的调度系统,计算资源也从单一的slot改成了内存/CPU等资源,按nodemanager不一样能够区别配置。此外hadoop2.X还解决了一些1.X中的大坑点,好比单点故障,提供了基于QJM和NFS2种不一样的解决方案。
    Hadoop3.X当前资料不是不少,其中值得期待的就是实现了Erasure Coding(纠删码),EC的强大之一是能够将以往的3副本,减小为1.5副本,还能保证数据不会丢失,这一强大功能在云存储领域普遍应用。安全


    后续的系列介绍中,咱们选择的版本是Hadoop2.X中的,2.6.4,由于文档好找:  http://hadoop.apache.org/docs/r2.6.4/    app


  2. 概念介绍(简介,详细的拆解在HDFS和YARN的篇章讲述):工具

    HDFS:Hadoop Distributed File System oop

    NameNode:hdfs主节点,不作实际存储主要管理hdfs的元数据信息、维护文件块和节点的对应关系以及维护用户对文件的修改信息。
    DataNode:hdfs的工做节点,实际的数据处理和存储节点。
    SecondaryNameNode:辅助节点,协助NameNode合并fsimage和edits文件,主要是作checkpoint的工做,在namenode宕机是能够及时恢复。

    CheckPoint Node:和Secondary NameNode做用同样,只是由于Secondary名字容易混淆而添加,使用方法
    Backup Node:和Secondary、CheckPoint相似,提供checkpoint功能,可是会保留和namenode彻底一致的信息

    Yarn:学习

    ResourceManager:主节点,处理客户端请求;管理NodeManager和Application Master;管理资源的调度和分配大数据

    NodeManager:工做节点,单个节点的资源管理;处理来自RM和AM的命令

    Application Master:数据切分;为application申请资源,分配任务;监控任务的运行

                    WebAppProxyServer:顾名思义,yarn web页面上对application的代理,主要是出于安全考虑

                    JobHistoryServer:主要负责处理任务的日志信息

            介绍了概念,开头的问题,DataNode和NodeManager能不能部署到同一个节点就显而易见了。答案是彻底能够,并且这样会很好,前提是要看好机器的配置,作好划分。


第二节    搭建hadoop集群,敬请期待

相关文章
相关标签/搜索