从今天开始新的系列: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开始后讲起。

Hadoop总结篇之一------开篇的更多相关文章

  1. Hadoop总结篇之四---底层通信是怎么做到的

    上一篇介绍了一个job的提交过程.期间多次提到通信协议.那么协议是什么? 协议其实就是通信的双方所遵守的一套规范,这套规范规定了通信时传输的数据的固定的格式. 4.1 RPC协议:在hadoop中,我 ...

  2. Hadoop总结篇之三---一个Job到底被提交到哪去了

    我们会定义Job,我们会定义map和reduce程序.那么,这个Job到底是怎么提交的?提交到哪去了?它到底和集群怎么进行交互的呢? 这篇文章将从头讲起. 开发hadoop的程序时,一共有三大块,也就 ...

  3. Hadoop总结篇之二--yarn的概况

    在弄清楚yarn是什么之前,先来看一下MRv1. 它的由编程模型+数据处理引擎(map/reduceTask)+运行时环境组成(JobTracker/TaskTracker).其中JobTracker ...

  4. Hadoop学习篇1 快速入门

    Hadoop是Apache Lucene创始人Doug Cutting创建的,Hadoop起源于Apache Nutch,一个开源的网络搜索引擎.最先引起注意是2003年google的一篇论文,该论文 ...

  5. hadoop入门篇-hadoop下载安装教程(附图文步骤)

    在前几篇的文章中分别就虚拟系统安装.LINUX系统安装以及hadoop运行服务器的设置等内容写了详细的操作教程,本篇分享的是hadoop的下载安装步骤. 在此之前有必要做一个简单的说明:分享的所有内容 ...

  6. hadoop入门篇---超详细hadoop服务器环境配置教程

    虚拟机以及Linux系统安装在之前的两篇分享中已经详细的介绍了方法,并且每一步的都配图了.如果有朋友还是看不懂,那我也爱莫能助了.本篇主要就hadoop服务器操作系统配置进行详细说明,hadoop安装 ...

  7. Hadoop介绍篇

    Hadoop详解 1.前言 对于初次接触Hadoop的小伙伴来说,Hadoop是一个很陌生的东西,尤其是Hadoop与大数据之间的关联,写这篇文章之前,我也有许多关于Hadoop与大数据的疑惑,接下来 ...

  8. Hadoop学习篇 2 初识 Hadoop

    在一个全配置的集群上,运行Hadoop意味着在网络分布的不同服务器上运行一组守护进程 (daemons),这些守护进程或运行在单个服务器上,或运行与多个服务器上,他们包括: (1) NameNode( ...

  9. hadoop第一篇

    1 hadoop整体架构 2 各组件关系 hdfs只是一个存储空间,他的完整名字是分布式文件系统.有名可知他的作用了. hbase是一个内存数据库,简单点说hbase把表啊什么的存在hdfs上.

随机推荐

  1. oracle xmltype导入并解析Excel数据 (五)中间表数据入库

    此处给出例子,具体根据业务需求 create or replace procedure P_CART_Sheet1(p_id in NUMBER) is--车辆管理功能v_str varchar2(4 ...

  2. SVN的部署及分支等方法

    1.本地Repository的创建 repository的创建很简单,假设我要在D:\TortoiseSVN\TestRepository目录中创建repository,只需 右键TestReposi ...

  3. A - Ice_cream’s world III

    Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Pract ...

  4. 一次完整的自动化登录测试-基于python+selenium进行cnblog的自动化登录测试

    Web登录测试是很常见的测试!手动测试大家再熟悉不过了,那如何进行自动化登录测试呢!本文作者就用python+selenium结合unittest单元测试框架来进行一次简单但比较完整的cnblog自动 ...

  5. Oracle笔记3-高级查询

    高级查询 1.关联查询 作用:可以跨多表查询 --查询出员工的名字和他所在部门的名字 //错误//select first_name,name from s_emp,s_dept; //错误原因:产生 ...

  6. -webkit-overflow-scrolling : touch;快速滚动标签

    http://www.cnblogs.com/PeunZhang/p/3553020.html(链接出处,只是转载学习) 对于如何使用弹性滚动,这里并没有最好的方案,具体看产品的用户群.产品的定位等, ...

  7. Python实例1

    1.有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 错解: 正解: 源码: #!/usr/bin/python for i in range(1,5): for j in ...

  8. C# 二维数组相关知识记录

    //初始化一个数组 , ] { { , }, { , }, { , }, { , }, { , } }; //查某个字段的长度 print(name.GetLength()); //获得第一个字段的长 ...

  9. linux文件目录权限详解(20170101)

    linux目录权限与文件权限是不同的,二者要相互配合,这是基础. 比如要读文件:目录至少要有x,文件至少要有r. 要写文件:目录至少要有x,文件至少要有rw. 要执行文件:目录至少要有x,文件至少要有 ...

  10. c++句柄设计

    句柄,也称为智能指针. 我计算了一下我的时间,以后每14天得读完一本书,才不愧对我买的这么多书.然而我还要抽出时间来谢谢博文.最近读的是c++沉思录,开篇就用了3章来讲述句柄.好了,废话少说,接下来谈 ...