Hadoop0.23.0初探5—RM、NM与AM源码分析

十二月 19th, 2011 by klose | 评论关闭 | Filed in mapreduce

Hadoop0.23.0 RM-NM-AM源码级分析 缩写词 NM:NodeManager RM:ResourceManager AM: ApplicationManager   表格1 ResourceManager的服务 父类或接口 实现类 功能 Dispatcher AsyncDispatcher 转交各种事件到不同的处理窗口,需要注册事件与处理类的绑定。(线程级) AbstractLiveLiness ContainerAllocationExpirer 监控Containter是否到期 AbstractLiveLiness AMLivelinessMonitor 监控每一个App的工作状态 AbstractService/ResourceTracker ResourceTrackerService 负责NM的注册以及与NM保持心跳 AbstractService/ClientRMProtocol ClientRMService 连接到RM的客户端,client与RM之间的交互。 AbstractService/ NodeStatusUpdater NodeStatusUpdaterImpl 监控节点状态更新的情 AbstractLivelinessMonitor NMLivelinessMonitor 监

Hadoop0.23.0初探4—让你的第一个YARN MapReduce跑起来

十二月 15th, 2011 by klose | No Comments | Filed in mapreduce

前言 klose的Hadoop0.23.0初探的系列文章的前三篇分别介绍了:Hadoop的变迁的前因后果、HDFS Federation的配置、以及HDFS的NN、SNN、BN和HA之间的关系。第四篇为文章稍微减负以下,主要介绍Yarn的部署,以及跑第一个HelloWorld(MapReduce wordcount)。 YARN框架介绍 ResourceManager负责作业与资源的调度。接收JobSubmitter提交的作业,按照作业的上下文(Context)信息,以及从NodeManager收集来的状态信息,启动调度过程,分配一个Container作为App Mstr。 NodeManager负责Container状态的维护,并向RM保持心跳。 App Mstr负责一个Job生命周期内的所有工作。如果这里的App是MR App,那么这里的App Mstr相当于只负责一个Job的JobTracker。 Container是YARN为了将来作资源隔离而提出的一个框架。这一点应该借鉴了Mesos的工作(参考我的相关文章),只是目

Hadoop0.23.0初探3—HDFS NN,SNN,BN和HA

十二月 9th, 2011 by klose | No Comments | Filed in 互联网应用, 海量数据存储与处理

前言 保证HDFS高可用是Hadoop被推广以来很多技术人员一直关心的问题,通过搜索引擎搜索也可以得到很多的方案。恰逢HDFS Federation出炉,本文将一些涉及到有关NameNode、SecondaryNameNode、BackupNode的含义与区别,以及HDFS HA框架做一个总结。除此之外,文章的最后,将介绍Hadoop-0.23.0如何配置NameNode、SecondaryNameNode、以及BackupNode。 1、HDFS元数据服务器如何工作? Namenode在第一次启动时刻之前,进行格式化,$bin/hdfs namenode -format -clusterid yourid 按照需求生成VERSION:例如我Hadoop0.23.0初探2中使用gb17作为namenode,在format之后会在dfs.hadoop.name.dir目录中生成如下的VERSION $ cat /opt/jiangbing/hdfs23/current/VERSION #Thu Dec 08 16:27:30 CST 2011 namespaceID=1787450988 clusterID=klose cTime=0 storageT

Tags: , , , ,

让你的MapReduce SQL引擎加速 —- Google-Tenzing下的那些Tricks

十二月 8th, 2011 by klose | No Comments | Filed in mapreduce

让你的MapReduce SQL引擎加速             —- Google-Tenzing下的那些Tricks Tenzing: 在Google-MapReduce计算框架之上实现对SQL的支持,Tenzing是SQL engine for MapReduce framework。 Motivation: 分布式数据库提供的SQL查询的不足: 1)节点扩展的问题 2)加载数据造成整个系统服务的抖动 3)传统SQL屏蔽了应用人员直接访问的数据的接口。然而,复杂的数据分析需要分析人员设计操作数据的程序,单一的SQL已经不再满足需求。 Target: 1)扩展性强 2)容错性较强 3)性能好,可与当前的MapReduce类SQL执行引擎一比高下(Hive, Pig) 4) 较高的ETL(Extract Transform and Load)效率 5)提供全面的SQL特性和一些高级操作特性,为高级用户暴露更多接口。 Architecture:   Tricks: (1)Hash aggregation 使用Hashtable来

Hadoop0.23.0初探2—HDFS Federation部署

十二月 1st, 2011 by klose | No Comments | Filed in mapreduce, 海量数据存储与处理

Hadoop的目录文件结构: . |– LICENSE.txt |– NOTICE.txt |– README.txt |– bin |– conf |– etc |– export_hadoop.sh |– hadoop-0.23.0-gridmix.jar |– hadoop-0.23.0-streaming.jar |– hadoop-mapreduce-0.23.0-sources.jar |– hadoop-mapreduce-0.23.0.jar |– hadoop-mapreduce-examples-0.23.0-sources.jar |– hadoop-mapreduce-examples-0.23.0.jar |– hadoop-mapreduce-test-0.23.0-sources.jar |– hadoop-mapreduce-test-0.23.0.jar |– hadoop-mapreduce-tools-0.23.0-sources.jar |– hadoop-mapreduce-tools-0.23.0.jar |– lib |– libexec |– logs |– modules |– sbin `̵

Tags: , , ,