Hadoop大数据开发与性能调优实战培训课程(2)Hadoop组件详解59.ppt
《Hadoop大数据开发与性能调优实战培训课程(2)Hadoop组件详解59.ppt》由会员分享,可在线阅读,更多相关《Hadoop大数据开发与性能调优实战培训课程(2)Hadoop组件详解59.ppt(59页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、HadoopHadoop之之HDFSHDFS和和MapReduceMapReduce2021/9/261掌握mapreduce原理和开发123理解HDFS原理3应用举例讲解培训目标2021/9/262123存储并管理PB级数据处理非结构化数据注重数据处理的吞吐量(时间不敏感)HDFS适合做什么?4应用模式为:write-once-read-many存取模式2021/9/263123存储小文件(不建议使用)大量的随机读(不建议使用)需要对文件的修改(不支持)HDFS不适合做什么?2021/9/264Hadoop的特点l扩容能力(Scalable):能可靠地(reliably)存储和处理千兆字节(
2、PB)数据并且线性扩展。l成本低(Economical):可以通过普通机器组成的服务器群来分发以及处理数据。这些服务器群总计可达数千个节点。l高效率(Efficient):通过分发数据,hadoop可以在数据所在的节点上并行地(parallel)处理它们,这使得处理非常的快速。l可靠性(Reliable):hadoop能自动地维护数据的多份副本,并且在任务失败后能自动地重新部署(redeploy)计算任务。2021/9/265Hadoop集群的物理分布2021/9/266HDFS2021/9/267Namenodel是整个文件系统的管理节点。它维护着整个文件系统的文件目录树,文件和目录的元信息
3、以及每个文件对应的数据块列表。接收用户的操作请求。NN包括:lfsimage:元数据镜像文件。存储某一时段NameNode内存元数据信息。ledits:操作日志文件。lfstime:保存最近一次checkpoint的时间l以上这些文件是保存在linux的文件系统中2021/9/268SecondaryNameNodeHA的一个解决方案。但不支持热备。执行过程:从NameNode上下载元数据信息(fsimage,edits),然后把二者合并,生成新的fsimage,在本地保存,并将其推送到NameNode,同时重置NameNode的edits。合并策略是根据时间和根据edits log变换大小。
4、默认是安装在NameNode节点上,可以通过配置启动在其他节点。2021/9/269DataNodel一个Block(数据块)在DataNode以文件存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳lDataNode启动后向NameNode注册,通过后,周期性(1小时)的向NameNode上报所有的块信息。l心跳是每3秒一次,心跳返回结果带有NameNode给该DataNode的命令如复制块数据到另一台机器,或删除某个数据块。如果超过10分钟没有收到某个DataNode 的心跳,则认为该节点不可用并把失效节点上的block备份到其他机器上面,
5、保证副本数为3。2021/9/2610Blockl文件切分成块(默认大小64M),以块为单位,每个块有多个副本存储在不同的机器上,副本数可在文件生成时指定(默认3),因为硬件错误是常态。因此需要冗余。lNameNode是主节点,存储文件的元数据如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个文件的块列表以及块所在的DataNode等等lDataNode在本地文件系统存储文件块数据,以及块数据的校验2021/9/2611Block的副本放置策略l第一个副本:放置在上传文件的DN;如果是集群外提交,则随机挑选一台磁盘不太满,CPU不太忙的节点l第二个副本:放置在于第一个副本
6、相同的机架的节点上l第三个副本:与第二个副本不同集群的节点l更多副本:随机节点2021/9/2612HDFS 读写流程2021/9/2613HDFS读写流程读文件流程lclient端发送读文件请求给namenode,如果文件不存在,返回错误信息,否则,将该文件对应的block及其所在datanode位置发送给clientlclient收到文件位置信息后,与不同datanode建立socket连接并行获取数据。写文件流程l client端发送写文件请求,namenode检查文件是否存在,如果已存在,直接返回错误信息,否则,发送给client一些可用datanode节点l client将文件分块,
7、并行存储到不同节点上datanode上,发送完成后,client同时发送信息给namenode和datanodel namenode收到的client信息后,发送确信信息给datanodeldatanode同时收到namenode和datanode的确认信息后,提交写操作。2021/9/261415HDFS为了做到可靠性(reliability)创建了多份数据块(data blocks)的复制(replicas),并将它们放置在服务器群的计算节点中(compute nodes),MapReduce就可以在它们所在的节点上处理这些数据了。2021/9/2615数据损坏处理l当DN读取block的
8、时候,它会计算checksum;l如果计算后的checksum,与block创建时值不一样,说明该block 已经损坏。lclient读取其它DN上的block;NN标记该块已经损坏,然后复制block达到预期设置的文件备份数;2021/9/2616HDFS安全模式lNamenode启动时会先经过一个“安全模式”阶段l安全模式阶段不会产生数据写l在此阶段Namenode收集各个datanode的报告,当数据块达到最小副本数以上时,会被认为是“安全”的l在一定比例(可设置)的数据块被确定为“安全”后,再过若干时间,安全模式结束l当检测到副本数不足的数据块时,该块会被复制直到达到最小副本数2021
9、/9/2617HDFS文件权限l与Linux文件权限类似lr:read;w:write;x:execute,权限x对于文件忽略,对于文件夹表示是否允许访问其内容l如果Linux系统用户zhangsan使用hadoop命令创建一个文件,那么这个文件在HDFS中owner就是zhangsanlHDFS的权限目的:阻止好人做错事,而不是阻止坏人做坏事。HDFS相信,你告诉我你是谁,我就认为你是谁2021/9/2618HDFS回收站l删除文件时,其实是放入回收站/trashl回收站里的文件可以快速恢复l可以设置一个时间阈值,当回收站里文件的存放时间超过这个阈值,就被彻底删除,并且释放占用的数据块修改c
10、ore-site.xml fs.trash.interval 1440 Number of minutes between trash checkpoints.If zero,the trash feature is disabled.2021/9/2619HDFS开发常用命令l-help cmd/显示命令的帮助信息l-ls(r)/显示当前目录下所有文件l-du(s)/显示目录中所有文件大小l-count-q/显示目录中文件数量l-mv /移动多个文件到目标目录l-cp /复制多个文件到目标目录l-rm(r)/删除文件(夹)l-put /本地文件复制到hdfsl-copyFromLocal/同
11、putl-moveFromLocal/从本地文件移动到hdfsl-get-ignoreCrc /复制文件到本地,可以忽略crc校验l-getmerge /将源目录中的所有文件排序合并到一个文件中l-cat/在终端显示文件内容l-text/在终端显示文件内容l-copyToLocal-ignoreCrc /复制到本地l-moveToLocal l-mkdir /创建文件夹l-touchz /创建一个空文件2021/9/2620MapReduce2021/9/262122Why MapReduce为什么我们不能使用数据库加上更多磁盘来做大规模的批量分析?为什么我们需要MapReduce?这个问题的
12、答案来自于磁盘驱动器的一个发展趋势:寻址时间的提高速度远远慢于传输速率的提高速度。寻址就是将磁头移动到特定位置进行读写操作的工序。它的特点是磁盘操作有延迟。关系型数据库和MapReduce的比较:2021/9/2622Why Map/Reduce?二、Divide and Conquer(分而治之)2021/9/2623MapReduce特性l自动实现分布式并行计算l容错l提供状态监控工具l模型抽象简洁,程序员易用2021/9/26242021/9/2625MapReduce执行流程2021/9/2626JobTracker(JT)和TaskTracker(TT)简介2021/9/2627Jo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Hadoop 数据 开发 性能 实战 培训 课程 组件 详解 59
限制150内