《云计算(第三版)》配套PPT之十九:第5章Hadoop20主流开源云架构(五)_第1页
《云计算(第三版)》配套PPT之十九:第5章Hadoop20主流开源云架构(五)_第2页
《云计算(第三版)》配套PPT之十九:第5章Hadoop20主流开源云架构(五)_第3页
《云计算(第三版)》配套PPT之十九:第5章Hadoop20主流开源云架构(五)_第4页
《云计算(第三版)》配套PPT之十九:第5章Hadoop20主流开源云架构(五)_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、of42电子工业出版社云计算(第三版)配套课件云 计 算(第三版)CLOUD COMPUTING Third Edition主编:刘鹏 教授第 5 章Hadoop 2.0 主流开源云架构(五)本套PPT下载地址:http:/ 教授、博导、学科带头人,清华大学博士。现任中国云计算专家咨询委员会秘书长、中国信息协会大数据分会副会长、工业与信息化部云计算研究中心专家。 主持完成科研项目25项,发表论文80余篇,出版专业书籍15本。获部级科技进步二等奖4项、三等奖4项。主编了国内第一本云计算教材云计算和第一本云计算编程书籍实战Hadoop。创办了知名的中国云计算()和中国大数据()网站。 曾率队夺得2

2、002 PennySort国际计算机排序比赛冠军,两次夺得全国高校科技比赛最高奖,并三次夺得清华大学科技比赛最高奖。 荣获“全军十大学习成才标兵”(排名第一)、南京“十大杰出青年”、江苏省“333高层次人才培养工程”中青年科学技术带头人、清华大学“学术新秀”等称号。刘 鹏5.1 引例5.2 Hadoop 2.0简述5.3 Hadoop 2.0部署5.4 Hadoop 2.0体系架构5.5 Hadoop 2.0访问接口5.6 Hadoop 2.0编程接口5.5 Hadoop 2.0访问接口5.5.1 访问接口综述5.5.2 浏览器接口5.5.3 命令行接口Hadoop 2.0每个模块访问方式可分

3、为:浏览器接口Shell接口编程接口5.5 Hadoop 2.0访问接口5.5.1 访问接口综述5.5.2 浏览器接口5.5.3 命令行接口of42云计算第三版配套PPT课件5.5 Hadoop 2.0访问接口浏览器接口Web地址配置文件配置参数HDFShttp:/NameNodeHostName:50070node.http-addressYarnhttp:/ResourceManagerHostName:8088yarn-site.xml yarn.resourcemanager.webapp.addressMapReducehttp:/JobHi

4、storyHostName:19888mapred-site.xmlmapreduce.jobhistory.webapp.address在Hadoop 2.0里,MapReduce是Yarn不可缺少的模块,这里的JobHistory是一个任务独立模块,用来查看历史任务,和MapReduce并行处理算法无关。85.5 Hadoop 2.0访问接口5.5.1 访问接口综述5.5.2 浏览器接口5.5.3 命令行接口1.HDFS 以tar包方式部署时,其执行方式是HADOOP_HOME/bin/hdfs,当以完全模式部署时,使用HDFS用户执行hdfs即可2.Yarn 以tar包方式部署时,其执行

5、方式是HADOOP_HOME/bin/yarn,当以完全模式部署时,使用Yarn用户执行yarn即可每一条命令都包含若干条子命令Yarn的Shell命令也主要分为用户命令和管理员命令3Hadoop 以tar包方式部署时,其执行方式是HADOOP_HOME/bin/Hadoop,当以完全模式部署时,在终端直接执行hadoopl 这个脚本既包含HDFS里最常用命令fs(即HDFS里的dfs),又包含Yarn里最常用命令jar,可以说是HDFS和Yarn的结合体。l 此外,distcp用mapreduce来实现两个Hadoop集群之间大规模数据复制。of42云计算第三版配套PPT课件5.5 Hado

6、op 2.0访问接口命令行接口4其他常用命令sbin/目录下的脚本主要分为两种类型:启停服务脚本和管理服务脚本。其中,脚本hadoop-daemon.sh可单独用于启动本机服务,方便本机调试,start/stop类脚本适用于管理整个集群,读者只要在命令行下直接使用这些脚本,它会自动提示使用方法。135.1 引例5.2 Hadoop 2.0简述5.3 Hadoop 2.0部署5.4 Hadoop 2.0体系架构5.5 Hadoop 2.0访问接口5.6 Hadoop 2.0编程接口5.6 Hadoop 2.0编程接口5.6.1 HDFS 编程5.6.2 Yarn编程of42云计算第三版配套PPT

7、课件HadoopHDFSYarn5.6 Hadoop 2.0编程接口16of42云计算第三版配套PPT课件5.6 Hadoop 2.0编程接口HDFS 编程新建File类使用File类方法对文件句柄进行相关操作针对这个File新建各种流对文件内容进行操作使用Java处理文件编写HDFS代码操作HDFS里的文件时,也是这个思路,只不过HDFS须先加载配置文件,在进行任何操作之前,我们都要实例化配置文件17of42云计算第三版配套PPT课件1.HDFS编程实例of42云计算第三版配套PPT课件19请编写一简单程序,要求实现在HDFS里新建文件myfile,并且写入内容“china cstor cs

8、tor cstor china”。5.6 Hadoop 2.0编程接口HDFS 编程请编写一简单程序,要求输出HDFS里刚写入的文件myfile的内容。请编写一简单代码,要求输出HDFS里文件myfile相关属性(如文件大小、拥有者、集群副本数,最近修改时间等)。【例1】【例2】【例3】of42云计算第三版配套PPT课件2.HDFS编程基础of42云计算第三版配套PPT课件215.6 Hadoop 2.0编程接口HDFS 编程1)Hadoop统一配置文件类ConfigurationHadoop的每一个实体(Common,HDFS,Yarn)都有与其相对应的配置文件,Configuration类

9、是联系几个配置文件的统一接口。Hadoop各模块间传递的一切值都必须通过Configuration类实现,其他方式均无法获取程序设置的参数,若想实现参数最好使用Configuration类的get和set方法。of42云计算第三版配套PPT课件在Hadoop源代码中,HDFS相关代码大都存放在org.apache.Hadoop.hdfs包里。但是,我们编写代码操作HDFS里的文件时,不可以调用这些代码,而是通过org.apache.hadoop.fs包里的FileSystem类实现。FileSystem类是Hadoop访问文件系统的抽象类,它不仅可以获取HDFS文件系统服务,也可以获取其他文件

10、系统(比如本地文件系统)服务,为程序员访问各类文件系统提供统一接口。org.apache.Hadoop.hdfsorg.apache.Hadoop.fscommon5.6 Hadoop 2.0编程接口HDFS 编程2)取得HDFS文件系统接口22of42云计算第三版配套PPT课件Common还提供了一些处理HDFS文件的常用流:5.6 Hadoop 2.0编程接口HDFS 编程3)HDFS常用流和文件状态类用户可以和Java流相互配合使用fs包下的FSDataInputStreamio包下的缓冲流DataInputBufferutil包下的LineReader235.6 Hadoop 2.0编

11、程接口5.6.1 HDFS 编程5.6.2 Yarn编程of42云计算第三版配套PPT课件5.6 Hadoop 2.0编程接口Yarn编程Yarn资源管理框架ResourceManager(RM)NodeManager(NM)不参与计算逻辑逻辑实体由ApplicationMaster和Client组成的处理逻辑相同的一类任务定义Map型MapReduce型MapReduceMap型CPU密集型任务25of42云计算第三版配套PPT课件5.6 Hadoop 2.0编程接口概念和流程资源管理框架RM负责资源分配NodeManager负责管理本地资源计算框架Client负责提交任务RM启动任务对应的

12、ApplicationMaster26of42云计算第三版配套PPT课件275.6 Hadoop 2.0编程接口概念和流程1)编程时使用的协议(1)ApplicationClientProtocolClientResourceManager。Client通知RM启动任务(如要求RM启动ApplicationMaster),获取任务状态或终止任务时使用的协议。(2)ApplicationMasterProtocolApplicationMasterResourceManager。ApplicationMaster向RM注册/注销申请资源时用到的协议。(3)ContainerManager App

13、licationMasterNodeManager。ApplicationMaster启动/停止获取NM上的Container状态信息时所用的协议。of42云计算第三版配套PPT课件5.6 Hadoop 2.0编程接口概念和流程2)一个Yarn任务的执行流程简析l Client提交任务时,通过调用ApplicationClientProtocol#getNewApplication从RM获取一个ApplicationId,然后再通过ApplicationClientProtocol#submitApplication提交任务。l RM会选定一个Container来启动ApplicationMa

14、ster。ApplicationMaster则负责此次任务的处理全过程调用ApplicationMasterProtocol#Register Application-Master向RM完成注册ApplicationMaster须向RM注销自己ApplicationMaster会通过心跳包与RM保持通信28of42云计算第三版配套PPT课件5.6 Hadoop 2.0编程接口概念和流程3)编程步骤小结l DistributedShelll unmanaged-am-launcherl MapReduceClient端ApplicationMaster端步骤1:获取ApplicationId步骤

15、2:提交任务步骤1:注册步骤2:申请资源步骤3:启动Container步骤4:重复步骤2、3,直至任务完成步骤5:注销Yarn提供了三个Application-Master实现:29of42云计算第三版配套PPT课件30DistributedShell是Yarn自带的一个应用程序编程实例,相当于Yarn编程中的“Hello World”,它的功能是并行执行用户提交的Shell命令或Shell脚本。5.6 Hadoop 2.0编程接口实例分析Client主要向RM提交任务ApplicationMaster向RM申请资源,并与NM协商启动Container完成任务从Hadoop官方网站下载Hado

16、op-2.2.0-src.tar.gz(Hadoop源码包)并解压后,依次进入Hadoop-yarn-projectHadoop-yarnHadoop-yarn-applications,下面就是Yarn自带的两个Yarn编程实例。of42云计算第三版配套PPT课件315.6 Hadoop 2.0编程接口代码执行方式默认情况下Yarn包里已经有分布式Shell的代码了,可以使用任何用户执行如下命令:$Hadoop jar /usr/lib/Hadoop-yarn/Hadoop-yarn-applications-distributedshell.jar org.apache.Hadoop.ya

17、rn.applications.distributedshell.Client -jar /usr/lib/Hadoop-yarn/Hadoop-yarn-applications-distributedshell.jar -shell_command /bin/date -num_containers 100of42云计算第三版配套PPT课件325.6 Hadoop 2.0编程接口实例分析-MapReduceInputFormatMapCombinePartitionerGroupingComparatorReduceOutputFormatRecordReaderInputSplitRec

18、oderWriterOutputCommitter实例化配置文件类实例化Job类编写输入格式编写Map类编写Partitioner类编写Reduce类编写OutputFormat类提交任务InputFormatTextInputFormatRecordReaderLineRecordReaderInputSplitFileSplitMapIdentityMapperCombine不使用PartitionerHashPartitionerGroupCompatator不使用ReduceIdentityReducerOutputFormatFileOutputFormatRecordWriterLineRecordWriterOutputCommitterFileOutputCommitterYarn框架处理MR程序时默认类of421简述Hadoop 1.0与Hadoop 2.0的优缺点,并比较二者区别与联系。2简述解压包方式部署Hadoop的弊端。3简述Hadoop 2.0安全机制,试分析其优缺点。4简述Yarn编程过程,再简述MR编程过程,说明二者有何关系。5试从架构上分析Hadoop的优缺点。习题:百度排名首位的大数据资料和交流中心百 度 排 名 首 位 的 云 计 算 资 料 和 交 流

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论