第2天-笔记培训课程1hadoop_第1页
第2天-笔记培训课程1hadoop_第2页
第2天-笔记培训课程1hadoop_第3页
第2天-笔记培训课程1hadoop_第4页
第2天-笔记培训课程1hadoop_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

Hadoop深入浅出讲师:宫海亮课程简介通过此课程,你能掌握Hadoop基本知识,进行Hadoop的HDFS和MapReduce应用开发,搭建Hadoop集群。掌握数据仓库基本知识,用Hive建立数据仓库,并进行多维分析掌握Hbase基本知识,搭建Hbase集群,Hbase的基本操作Sqoop和Flume使用Saprk搭建开发4天课程体系Day1:搭建伪分布实验环境、HDFS体系结构、MapReduce体系结构、Hive体系结构Day2:介绍HBase,Sqoop,Flume部署与操作Day3:介绍Scala语法Day4:介绍Spark结构,Spark用法第一天课程安排Hadoop项目简介*Hadoop组件介绍***搭建Hadoop的伪分布环境***Hadoop相关shell指令***

Hadoop是什么?Hadoop历史

hadoop之父DougCuttinghadoop一开始只是ApacheLucene的子项目。ApacheLucene1.全球第一个开源的全文检索引擎工具包2.完整的查询引擎和索引引擎3.部分文本分析引擎4.开发人员可在此基础上建立起完整的全文检索引擎。Nutch开源的基于Lucene的网页搜索引擎加入网页抓取/解析等功能类似于Google等商业搜索引擎Goole的两篇重要论文GoogleFileSystemMapReduce:SimplifiedDataProcessingonLargeClustersHadoopLOGO的名字由来:DougCutting家小孩儿为一直黄色大象玩具起得名字。1.2002年Nutch项目开始运行2.2003年谷歌发表GFS论文3.2004年Doug根据GFS设计了NDFS4.2005年Nutch移植到新的框架,Hadoop早期版本在20个节点上运行5.2006年1月Doug加盟雅虎6.2006年2月ApacheHadoop项目启动7.2008年Hadoop赢得世界1TB数据排序冠军8.2013年11月Hadoop技术峰会召开,标志Hadoop进入2.0时代适合大数据的分布式存储与计算平台

版本版本特性Hadoop1.x和Hadoop2.x架构区别MRv1与Yarn的主要区别Hadoop核心项目HDFS:HadoopDistributedFileSystem分布式文件系统Yarn:资源调度MapReduce:并行计算框架Hadoop进程NameNode:元数据管理SecondNameNode:冷备份DataNode:数据管理,Block管理ResourceManager:资源管理器ApplicationMaster:作业的资源申请与Task管理NodeManager:统计节点资源信息汇报RMJobhistoryServer:历史日志服务TimelineServer:更加通用的JobHistoryServerJournalNode:Namenode数据同步服务FailoverController:监控NameNode,不断把NameNode汇报给ZKHDFS的架构主从结构主节点,只有一个:namenode从节点,有很多个:datanodesnamenode负责:接收用户操作请求维护文件系统的目录结构管理文件与block之间关系,block与datanode之间关系datanode负责:存储文件文件被分成block存储在磁盘上为保证数据安全,文件会有多个副本HDFS写流程HDFS读流程MapReduce1.x的架构主从结构主节点,只有一个:JobTracker从节点,有很多个:TaskTrackersJobTracker负责:接收客户提交的计算任务把计算任务分给TaskTrackers执行监控TaskTracker的执行情况TaskTrackers负责:执行JobTracker分配的计算任务MapReduce2.x的架构主从结构master:ResourceManagerslaves:NodeManager,

RunJar,MRAppMaster,YarnChildmaster负责:在YARN中,ResourceManager负责集群中所有资源的统一管理和分配,它接收来自各个节点(NodeManager)的资源汇报信息,并把这些信息按照一定的策略分配给各个应用程序slaves负责:job启动过程:

ResourceManage,NodeManager->RunJar->MRAppMaster->YarnChildjob退出过程:

YarnChild->MRAppMaster->RunJar

即所有的map/reduce均完成后,MRAppMaster才退出,最后RunJar退出,job完成。Yarn(MapReduce2)的流程Yarn(MapReduce2)的作业调度流程Yarn(MapReduce2)的作业调度流程1、作业提交通过submit或者pletion提交作业,pletion()方法通过每秒循环轮转作业进度,如果发现与上次报告有改变,则将进度报告发送到控制台。其实plection()方法中还是调用submit()方法。2、从资源管理器ResourceManager获取作业ID,在YARN中叫做应用程序ID。3、这时候作业客户端检查输出说明、计算输入分片(可以通过puter-splits-in-cluster在集群上产生分片),并将作业信息(jar、配置文件、分片信息)复制到HDFS4、通过submitApplication()方法提交作业。5a-5b、资源管理器在收到submitApplication()消息后,将请求传递给调度器(Scheduler),调度器为其分配一个容器Container,然后RM在NM的管理下在container中启动程序的ApplicationMaster进程。6、ApplicationMaster是一个java应用程序,主类是MRAppmaster。applicationmaster对作业进行初始化,创建过个薄记对象以跟踪作业进度。7、ApplicationMaster接受来自HDFS在客户端计算的输入分片,对每一个分片创建一个map任务,任务对象,由mapreduce.job.reduces属性设置reduce个数。8、applicationmaster就会为所有的map任务和reduce任务向资源管理器申请容器。请求业为任务指定内存需求,map任务和reduce任务的默认都会申请1024MB的内存,这个值可以通过mapreduce.map.memory.mb和mapreduce.reduce.memory.mb来设置。这里的内存分配策略和mapreduce1中不同,在MR1中tasktracker中有固定数量的槽,每个任务运行在一个槽中,槽有最大内存分配限制,这样集群是固定的,当任务使用较少内存时,无法充分是使用个内存,造成其他任务不能够获取足够内存因而导致作业失败。在YARN中,资源分为更细的粒度,所以避免了以上的问题。9a~9b、资源管理器为任务分配了容器,applicationmaster就通过节点管理器启动容器。该任务由主类YarnChild的java应用程序执行10、运行任务之前,首先将资源本地化,包括作业配置、jar文件和所有来自分布式缓存的文件11、最后执行map任务和reduce任务Shuffle每个map有一个环形内存缓冲区,用于存储任务的输出。默认大小100MB(io.sort.mb属性),一旦达到阀值0.8(io.sort.spill.percent),一个后台线程把内容写到(spill)磁盘的指定目录(mapreduce.cluster.local.dir)下的新建的一个溢出写文件。写磁盘前,要partition,sort。如果有combiner,combine排序后数据。等最后记录写完,合并全部溢出写文件为一个分区且排序的文件。Reducer通过Http方式得到输出文件的分区。ReduceTask为分区文件运行Reduce任务。复制阶段把Map输出复制到Reducer的内存或磁盘。一个Map任务完成,Reduce就开始复制输出。排序阶段合并map输出。然后走Reduce阶段。MapReduce逻辑数据流NCDC:NationalClimaticDataCenter(国家气候数据中心)Hadoop部署方式本地模式伪分布模式集群模式安装前准备软件VitualVox或者VmWarecetnos7Jdk1.8hadoop-2.7.6.tar.gz伪分布模式安装步骤关闭防火墙修改ip修改hostname设置ssh自动登录安装jdk安装hadoop

修改hadoop配置文件1.hadoop-env.shexportJAVA_HOME=/usr/local/jdk/2.core-site.xml<configuration><property><name></name><value>hdfs://hadoop01:9000</value><description>changeyourownhostname</description></property><property><name>hadoop.tmp.dir</name><value>/usr/local/hadoop/tmp</value></property></configuration>

3.hdfs-site.xml<configuration><property><name>dfs.replication</name><value>1</value></property><property><name>dfs.permissions</name><value>false</value></property></configuration>4.mapred-site.xml<configuration><property><name></name><value>yarn</value></property></configuration>

4.

yarn-site.xml<configuration>

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property></configuration>官方文档:

启动hadoop再执行start-all.sh浏览hadoop

hadoop集群相关端口组件节点默认端口配置用途说明HDFSDataNode50010dfs.datanode.addressdatanode服务端口,用于数据传输HDFSDataNode50075dfs.datanode.http.addresshttp服务的端口HDFSDataNode50475dfs.datanode.https.addresshttps服务的端口HDFSDataNode50020dfs.datanode.ipc.addressipc服务的端口HDFSNameNode50070node.http-addresshttp服务的端口HDFSNameNode50470node.https-addresshttps服务的端口HDFSNameNode8020fs.defaultFS接收Client连接的RPC端口,用于获取文件系统metadata信息。HDFSjournalnode8485dfs.journalnode.rpc-addressRPC服务HDFSjournalnode8480dfs.journalnode.http-addressHTTP服务HDFSZKFC8019dfs.ha.zkfc.portZooKeeperFailoverController,用于NNHAYARNResourceManager8032yarn.resourcemanager.addressRM的applicationsmanager(ASM)端口YARNResourceManager8030yarn.resourcemanager.scheduler.addressscheduler组件的IPC端口YARNResourceManager8031yarn.resourcemanager.resource-tracker.addressIPCYARNResourceManager8033yarn.resourcemanager.admin.addressIPCYARNResourceManager8088yarn.resourcemanager.webapp.addresshttp服务端口YARNNodeManager8040yarn.nodemanager.localizer.addresslocalizerIPCYARNNodeManager8042yarn.nodemanager.webapp.addresshttp服务端口YARNNodeManager8041yarn.nodemanager.addressNM中containermanager的端口YARNJobHistoryServer10020mapreduce.jobhistory.addressIPCYARNJobHistoryServer19888mapreduce.jobhistory.webapp.addresshttp服务端口hdfsfsshell-help[cmd] //显示命令的帮助信息-ls(r)<path> //显示当前目录下所有文件-du(s)<path> //显示目录中所有文件大小-count[-q]<path> //显示目录中文件数量-mv<src><dst> //移动多个文件到目标目录-cp<src><dst> //复制多个文件到目标目录-rm(r) //删除文件(夹)-put<localsrc><dst> //本地文件复制到hdfs-copyFromLocal //同put-moveFromLocal //从本地文件移动到hdfs-get[-ignoreCrc]<src><localdst> //复制文件到本地,可以忽略crc校验-getmerge<src><localdst> //将源目录中的所有文件排序合并到一个文件中-cat<src> //在终端显示文件内容-text<src> //在终端显示文件内容-copyToLocal[-ignoreCr

温馨提示

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

最新文档

评论

0/150

提交评论