zoukankan      html  css  js  c++  java
  • Hadoop总结篇之一------开篇

    从今天开始新的系列:Hadoop总结篇

    之前的hadoop学习篇由于是学习过程中随手记下来的一些内容,不具有系统性。所以在这个系列中,将凭着这段时间的研究心得,来记录一些自认为比较重要的东西。

    本系列的主要参考书目是《Hadoop技术内幕:深入解析Yarn架构设计与实现原理》

    比如作业从提交到执行到写出结果,将有一个从浅到深,逐步深入的过程。另外一些开发过程中使用到的比较零碎的东西,将会以外篇的形式记录。

    hadoop版本:2.7.X

    由于是第一篇,那么先来个综述吧。

    学习hadoop我们到底要学些什么?

    在2.x以后,hadoop的体系结构基本按如下三部分划分:

    第一部分就是HDFS文件存储系统。就像我们操作系统的任意一种存储系统一样,这个模块决定了文件存在哪里,怎么存取。只不过他被hadoop集成使用。

    主要的进程有三个: NameNode  DataNode SecondaryName 这三个类,是有main函数的

    第二部分就是计算框架mapreduce,同hadoop1.x里的实现基本一致

    第三部分是调度框架yarn 

    yarn的作用是什么?调度!这个词是精髓,调度资源,调度任务。

    主要进程:resourceManager ApplicationMaster,NodeManager这三个类,也是有main函数的。

    我们要学的,主要就是这三部分内容。

    下面先概括的说一下执行一个job的基本工作流程:

    resourceManager 接到客户端提交的任务,会申请资源(container),本质是在集群中的一台机器上,与其上的NodeManager协调,在资源上启动ApplicationMaster。

    然后把job的控制权交给ApplicationMaster。后者接管后,根据任务的描述信息,去向resourceManager 申请运行task的资源。根据resourceManager 的回馈(资源可用情况描述),与可用的节点(NodeManager)协调,启动task任务。

    task任务启动,那么就使用计算框架内容执行具体的计算了。

    而hdfs文件读取,贯穿于整个job执行阶段。

    这里有必要说明一下,Job 和Application的关系,其实两者是一个东西在不同阶段的描述。提交的时候叫Job,提交后,hadoop系统跑起来后,那就是Application了。就好像一个人小时候在家里,家人都叫乳名。上学后,就用正式名字来称呼了。

     下一篇将从资源调度框架yarn开始后讲起。

  • 相关阅读:
    Apache的Order Allow,Deny 详解
    apache的AllowOverride以及Options使用详解
    安装启动apache2.4后报Invalid command 'order', perhaps misspelled or defined by a module not included
    前端常见跨域解决方案(全)
    php面试宝典
    php面试题2018
    nginx负载均衡的5种策略
    多台服务器共享session问题
    小程序定义并使用类
    微信小程序真机预览接口不到数据,打开调试确能请求到
  • 原文地址:https://www.cnblogs.com/xyang/p/5545910.html
Copyright © 2011-2022 走看看