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

下载本文档

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

文档简介

目目 录录 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每个模块访问方式可分为: 浏览器接口Shell接口编程接口 5.5 Hadoop 2.0访问接口 5.5.1 访问接口综述 5.5.2 浏览器接口 5.5.3 命令行接口 of42 云计算第三版配套PPT课件5.5 Hadoop 2.0访问接口 浏览器接口 Web地址配置文件配置参数 HDFS http:/NameNodeHostNa me:50070 hdfs-site.xml node.http- address Yarn http:/ResourceManagerH ostName:8088 yarn-site.xml yarn.resourcemanager.w ebapp.address MapReduce http:/JobHistoryHostNam e:19888 mapred-site.xml mapreduce.jobhistory.w ebapp.address 在Hadoop 2.0里,MapReduce是Yarn不可缺少的模块,这里的JobHistory是一 个任务独立模块,用来查看历史任务,和MapReduce并行处理算法无关。 5 5.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包方式部署时,其执行方式是HADOOP_HOME/bin/yarn,当以 完全模式部署时,使用Yarn用户执行yarn即可 每一条命令都包含若干条子命令 Yarn的Shell命令也主要分为用户命令和管理员命令 3Hadoop 以tar包方式部署时,其执行方式是 HADOOP_HOME/bin/Hadoop,当以完全模式部署时,在终端直接执行hadoop l 这个脚本既包含HDFS里最常用命令fs(即HDFS里的dfs),又包含Yarn里最常 用命令jar,可以说是HDFS和Yarn的结合体。 l 此外,distcp用mapreduce来实现两个Hadoop集群之间大规模数据复制。 of42 云计算第三版配套PPT课件5.5 Hadoop 2.0访问接口 命令行接口 4其他常用命令 sbin/目录下的脚本主要分为两种类型:启停服务脚本和管理服务脚本。 其中,脚本hadoop-daemon.sh可单独用于启动本机服务,方便本机调试, start/stop类脚本适用于管理整个集群,读者只要在命令行下直接使用这些脚本, 它会自动提示使用方法。 10 目目 录录 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.6 Hadoop 2.0编程接口 5.6.1 HDFS 编程 5.6.2 Yarn编程 of42 云计算第三版配套PPT课件 Hadoop HDFSYarn 5.6 Hadoop 2.0编程接口 13 of42 云计算第三版配套PPT课件5.6 Hadoop 2.0编程接口 HDFS 编程 新建File类 使用File类方法对文件句柄 进行相关操作 针对这个File新建各种流 对文件内容进行操作 使用Java处理文件 编写HDFS代码操作HDFS里的文件时,也是这个思路,只不过HDFS须先加载配 置文件,在进行任何操作之前,我们都要实例化配置文件 14 of42 云计算第三版配套PPT课件 1.HDFS编程实例 of42 云计算第三版配套PPT课件 16 请编写一简单程序,要求实现在HDFS里新建文件myfile,并且 写入内容“china cstor cstor cstor china”。 5.6 Hadoop 2.0编程接口 HDFS 编程 请编写一简单程序,要求输出HDFS里刚写入的文件myfile的内 容。 请编写一简单代码,要求输出HDFS里文件myfile相关属性(如 文件大小、拥有者、集群副本数,最近修改时间等)。 【例1】 【例2】 【例3】 of42 云计算第三版配套PPT课件 2.HDFS编程基础 of42 云计算第三版配套PPT课件 18 5.6 Hadoop 2.0编程接口 HDFS 编程 1)Hadoop统一配置文件类Configuration Hadoop的每一个实体(Common, HDFS,Yarn)都有与其相对应的配置 文件,Configuration类是联系几个配 置文件的统一接口。 Hadoop各模块间传递的一切值都必须 通过Configuration类实现,其他方 式均无法获取程序设置的参数,若想 实现参数最好使用Configuration类的 get和set方法。 of42 云计算第三版配套PPT课件 在Hadoop源代码中,HDFS相关代码大都存放在org.apache.Hadoop.hdfs包 里。但是,我们编写代码操作HDFS里的文件时,不可以调用这些代码,而是通 过org.apache.hadoop.fs包里的FileSystem类实现。 FileSystem类是Hadoop访问文件系统的抽象类,它不仅可以获取HDFS文件系 统服务,也可以获取其他文件系统(比如本地文件系统)服务,为程序员访问各 类文件系统提供统一接口。 org.apache.Hadoop.hdfs org.apache.Hadoop.fs common 5.6 Hadoop 2.0编程接口 HDFS 编程 2)取得HDFS文件系统接口 19 of42 云计算第三版配套PPT课件 Common还提供了一些处理HDFS文件的常用流: 5.6 Hadoop 2.0编程接口 HDFS 编程 3)HDFS常用流和文件状态类 用户可以和Java流相互配合使用 fs包下的FSDataInputStreamio包下的缓冲流DataInputBuffer util包下的LineReader 20 5.6 Hadoop 2.0编程接口 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密集 型任务 22 of42 云计算第三版配套PPT课件5.6 Hadoop 2.0编程接口 概念和流程 资源管理框架RM负责资源分配 NodeManager 负责管理本地资源 计算框架Client负责提交任务 RM启动任务对应的 ApplicationMaster 23 of42 云计算第三版配套PPT课件 24 5.6 Hadoop 2.0编程接口 概念和流程 1)编程时使用的协议 (1)ApplicationClientProtocol ClientResourceManager。 Client通知RM启动任务(如要求RM启动ApplicationMaster),获取任务状态 或终止任务时使用的协议。 (2)ApplicationMasterProtocol ApplicationMasterResourceManager。 ApplicationMaster向RM注册/注销申请资源时用到的协议。 (3)ContainerManager ApplicationMasterNodeManager。 ApplicationMaster启动/停止获取NM上的Container状态信息时所用的协议。 of42 云计算第三版配套PPT课件5.6 Hadoop 2.0编程接口 概念和流程 2)一个Yarn任务的执行流程简析 l Client提交任务时,通过调用ApplicationClientProtocol#getNewApplication 从RM获取一个ApplicationId,然后再通过 ApplicationClientProtocol#submitApplication提交任务。 l RM会选定一个Container来启动ApplicationMaster。 ApplicationMaster 则负责此次任务的 处理全过程 调用ApplicationMasterProtocol#Register Application-Master向RM完成注册 ApplicationMaster须向RM注销自己 ApplicationMaster会通过心跳包与RM保持通信 25 of42 云计算第三版配套PPT课件5.6 Hadoop 2.0编程接口 概念和流程 3)编程步骤小结 l DistributedShell l unmanaged-am-launcher l MapReduce Client端ApplicationMaster端 步骤1:获取ApplicationId 步骤2:提交任务 步骤1:注册 步骤2:申请资源 步骤3:启动Container 步骤4:重复步骤2、3,直至任务完成 步骤5:注销 Yarn提供了三个 Application-Master实现: 26 of42 云计算第三版配套PPT课件 27 DistributedShell是Yarn自带的一个应用程序编程实例,相当于Yarn编程中的 “Hello World”,它的功能是并行执行用户提交的Shell命令或Shell脚本。 5.6 Hadoop 2.0编程接口 实例分析 Client主要向RM提交任务 ApplicationMaster向RM申请资源,并与NM协商启动Container完成任务 从Hadoop官方网站下载Hadoop-2.2.0-src.tar.gz(Hadoop源码包)并解压 后,依次进入Hadoop-yarn-projectHadoop-yarnHadoop-yarn- applications,下面就是Yarn自带的两个Yarn编程实例。 of42 云计算第三版配套PPT课件 28 5.6 Hadoop 2.0编程接口 代码执行方式 默认情况下Yarn包里已经有分布式Shell的代码了, 可以使用任何用户执行如下命令: $Hadoop jar /usr/lib/Hadoop-yarn/Hadoop-yarn-applications- distributedshell.jar org.apache.Hadoop.yarn.applications.distributedshell.Client -jar /usr/lib/Hadoop-yarn/Hadoop-yarn-applications- distributedshell.jar -shell_command /bin/date -num_containers 100 of42 云计算第三版配套PPT课件 29 5.6 Hadoop 2.0编程接口 实例分析-MapReduce InputFormatMapCombinePartitioner Grouping Comparator ReduceOutputFormat Record Reader Input Split Recoder Writer Output Committer 实例化配置文件类实例化Job类编写输入格式编写Map类 编写Partitioner类编写Reduce类编写OutputFormat类提交任务 InputFormatTextInputFormat RecordReaderLineRecordReader InputSplitFileSplit MapIdentityMapper Combine不使用 PartitionerHashPartitioner GroupCompatator不使用 ReduceIdentityReducer OutputFormatFileOutputFormat RecordWriterLineRecordWriter OutputCommitterFileOutputCommitter Yarn框架处理MR程序时默认类 of42 1简述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

提交评论