ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:470.18KB ,
资源ID:24117663      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24117663.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(2Hadoop管理课案.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

2Hadoop管理课案.docx

1、2Hadoop管理课案Hadoop管理一、实验目的1、熟悉Hadoop文件结构。2、了解Hadoop集群运行状态。3、掌握Hadoop集群管理监控管理工具。4、掌握Hadoop日常监控维护管理的相关方法。二、实验原理Hadoop 中的分布式文件系统 HDFS 由一个管理结点 ( NameNode )和N个数据结点 ( DataNode )组成,每个结点均是一台普通的计算机。在使用上同我们熟悉的单机上的文件系统非常类似,一样可以建目录,创建,复制,删除文件,查看文件内容等。但其底层实现上是把文件切割成 Block,然后这些 Block 分散地存储于不同的 DataNode 上,每个 Block

2、还可以复制数份存储于不同的 DataNode 上,达到容错容灾之目的。NameNode 则是整个 HDFS 的核心,它通过维护一些数据结构,记录了每一个文件被切割成了多少个 Block,这些 Block 可以从哪些 DataNode 中获得,各个 DataNode 的状态等重要信息。 MapReduce 是 Google 公司的核心计算模型,它将复杂的运行于大规模集群上的并行计算过程高度的抽象到了两个函数,Map 和 Reduce, 这是一个令人惊讶的简单却又威力巨大的模型。适合用 MapReduce 来处理的数据集(或任务)有一个基本要求: 待处理的数据集可以分解成许多小的数据集,而且每一个

3、小数据集都可以完全并行地进行处理。基于它写出来的程序能够运行在由上千台商用机器组成的大型集群上,并以一种可靠容错的方式并行处理T级别的数据集,实现了Haddoop在集群上的数据和任务的并行计算与处理。个人认为,从HDFS(分布式文件系统)观点分析,集群中的服务器各尽其责,通力合作,共同提供了整个文件系统的服务。从职责上集群服务器以各自任务分为namenode、datanode服务器.其中namenode为主控服务器,datanode为数据服务器。Namenode管理所有的datanode数据存储、备份、组织记录分配逻辑上的处理。说明白点namenode就是运筹帷幄、负责布局指挥将军,具体的存储

4、、备份是由datanode这样的战士执行完成的。故此很多资料将HDFS分布式文件系统的组织结构分为master(主人)和slaver(奴隶)的关系。其实和namenode、datanode划分道理是一样的。从MapReduce计算模型观点分析,Map/Reduce框架和分布式文件系统是运行在一组相同的节点上的,也就是说计算节点和存储节点在一起。这种配置允许在那些已经存好数据的节点上高效的调度任务,这样可以使整个集群的网络宽带得到非常高效的利用。另外,在Hadoop中,用于执行MapReduce任务的机器有两个角色:JobTracker,TaskTracker。JobTracker(一个集群中只

5、能有一台)是用于管理和调度工作的,TaskTracker是用于执行工作的。以上对Hadoop体系框架和相应技术做了相应分析,并从HDFS、MapReduce的角度分析了集群中的角色扮演。对于管理Hadoop集群,维护集群的高效稳定,这些理论既是我们实验的理论基础,也是实验研究Hadoop深层次系统知识体系结构的意义所在。三、实验内容本实验主要是从以下四个部分,进行Hadoop管理实验。1、HDFS目录结构认知2、HDFS命令工具管理3、MapReduces作业管理4、Hadoop集群的维护5、Ganglia集群监控工具的安装与使用四、实验步骤本实验以unbutu14.04,hadoop2.20

6、集群为前提进行实验。Hadoop集群ip及角色分配如下10.31.44.117 master (namenode)10.31.44.200 slaver1 (datanode)10.31.44.201 slaver2 (datanode)第一部分:HDFS目录结构 无论是做为开发者还是管理员了解HDFS目录结构都是很重要的一件事情。 它们可以帮助我们诊断问题、管理HDFS数据 Namenode的目录结构: $dfs.name.dir/current /VERSION /edits /fsimage Hadoop2.2.0 namenode具体文件如图所示: 注: dfs.name.dir是hd

7、fs-site.xml里配置的目录列表。 通过设置Sencondary NameNode可以解决edits log变大问题 Sencondary Namenode的目录结构: $fs.checkpoint.dir/current /VERSION /edits /fsimage /VERSION Hadoop2.2.0 datanode具体文件如图所示: Datanode 的目录结构:Hadoop2.2.0 datanode具体文件如图所示:对比以上效果图,对HDFS文件介绍如下:namespaceID是文件系统的唯一标示符。在文件系统第一次被格式化时便会创建,这个标示符也要求各DataNod

8、e节点和NameNode节点保持一致。cTime属性表记录NameNode创建的时间,对于新格式化的存储空间,虽然这里的cTime的属性为0,但是只要文件系统被更新,就会得到一个新的时间戳。storageType用于指出此存储目录包含一个NameNode的数据结构,在DataNode中它的属性值为DATA_NODE。layoutVersion是一个负数,定义了HDFS持久数据结构的版本。每次HDFS的布局发生改变,该版本号就会递减,在这种情况下,HDFS就需要更新升级,因为如果一个新的NameNode或DataNode还处在旧版本上,那么系统就无法正常运行,各节点的版本号要保持一致。edits

9、:编辑日志会在客户端执行写操作时,NameNode会先在编辑日志中写下记录,并在内存中保存一个文件系统元数据,元数据会在编辑日志有所改动后进行更新。编辑日志会在每次成功操作,成功代码尚未返回给客户端之前进行刷新和同步。fsimage(文件系统镜像)文件是文件系统元数据的持久性检查点。一个fsimage文件包含以序列化格式存储的文件系统目录和文件inodes。每个inodes标示一个文件或目录的元数据信息,以及文件的副本数、修改和访问时间等信息。Secondary NameNode下的目录和NameNode是一致的,下面我先介绍下Secondary NameNode的作用,你自然就了解其目录结构

10、内容的用途了。Secondary NameNode的任务就是为原NameNode内存中的文件系统元数据产生检查点。其实SecondaryNameNode是一个辅助NameNode内存中的文件系统数据产生检查点,他从NameNode中复制fsimage和编辑日志到临时目录并定期合成一个新的fsimage,随后将新的fsimage上传到NameNode,这样,NameNode便可更新fsimage并删除原来的编辑日志。当然当NameNode发生故障时,可以直接从Secondary NameNode中恢复,从这方面来说可以将其看成NameNode的备份。第二部分:HDFS命令工具管理HDFS文件系统

11、检查工具FSCK用法:hdfs fsck GENERIC_OPTIONS -move | -delete | -openforwrite -files -blocks -locations | -racks命令选项描述检查的起始目录。-move移动受损文件到/lost+found-delete删除受损文件。-openforwrite打印出写打开的文件。-files打印出正被检查的文件。-blocks打印出块信息报告。-locations打印出每个块的位置信息。-racks打印出data-node的网络拓扑结构。hdfs dfsadmin命令选项描述-report报告文件系统的基本信息和统计信息

12、。-refreshNodes重新读取hosts和exclude文件,更新允许连到Namenode的或那些需要退出或入编的Datanode的集合。-finalizeUpgrade终结HDFS的升级操作。Datanode删除前一个版本的工作目录,之后Namenode也这样做。这个操作完结整个升级过程。命令选项描述-metasave filename保存Namenode的主要数据结构到hadoop.log.dir属性指定的目录下的文件。对于下面的每一项,中都会一行内容与之对应 1. Namenode收到的Datanode的心跳信号 2. 等待被复制的块 3. 正在被复制的块 4. 等待被删除的块-s

13、etQuota .为每个目录 设定配额。目录配额是一个长整型整数,强制限定了目录树下的名字个数。 命令会在这个目录上工作良好,以下情况会报错: 1. N不是一个正整数,或者 2. 用户不是管理员,或者 3. 这个目录不存在或是文件,或者 4. 目录会马上超出新设定的配额。-upgradeProgress status | details | force请求当前系统的升级状态,状态的细节,或者强制升级操作进行。-clrQuota .为每一个目录清除配额设定。 命令会在这个目录上工作良好,以下情况会报错: 1. 这个目录不存在或是文件,或者 2. 用户不是管理员。 如果目录原来没有配额不会报错。其

14、他常用命令chmod使用方法:hadoop fs -chmod -R URI URI 改变文件的权限。使用-R将使改变在目录结构下递归进行。命令的使用者必须是文件的所有者或者超级用户。chown使用方法:hadoop fs -chown -R OWNER:GROUP URI URI 改变文件的拥有者。使用-R将使改变在目录结构下递归进行。命令的使用者必须是超级用户。copyFromLocal使用方法:hadoop fs -copyFromLocal URI除了限定源路径是一个本地文件外,和put命令相似。copyToLocal使用方法:hadoop fs -copyToLocal -ignor

15、ecrc -crc URI 除了限定目标路径是一个本地文件外,和get命令类似。cp使用方法:hadoop fs -cp URI URI 将文件从源路径复制到目标路径。这个命令允许有多个源路径,此时目标路径必须是一个目录。 示例: hadoop fs -cp /user/hadoop/file1 /user/hadoop/file2 hadoop fs -cp /user/hadoop/file1 /user/hadoop/file2 /user/hadoop/dirget使用方法:hadoop fs -get -ignorecrc -crc 复制文件到本地文件系统。可用-ignorecrc选

16、项复制CRC校验失败的文件。使用-crc选项复制文件以及CRC信息。示例: hadoop fs -get /user/hadoop/file localfile hadoop fs -get hdfs:/host:port/user/hadoop/file localfilels使用方法:hadoop fs -ls 如果是文件,则按照如下格式返回文件信息:文件名 文件大小 修改日期 修改时间 权限 用户ID 组ID 如果是目录,则返回它直接子文件的一个列表,就像在Unix中一样。目录返回列表的信息如下:目录名 修改日期 修改时间 权限 用户ID 组ID 示例:hadoop fs -ls /us

17、er/hadoop/file1 /user/hadoop/file2 hdfs:/host:port/user/hadoop/dir1 /nonexistentfile ls -R使用方法:hadoop fs -ls -R ls命令的递归版本。类似于Unix中的ls -R。mkdir使用方法:hadoop fs -mkdir 接受路径指定的uri作为参数,创建这些目录。其行为类似于Unix的mkdir -p,它会创建路径中的各级父目录。示例: hadoop fs -mkdir /user/hadoop/dir1 /user/hadoop/dir2 hadoop fs -mkdir hdfs:/

18、host1:port1/user/hadoop/dir hdfs:/host2:port2/user/hadoop/dirmv使用方法:hadoop fs -mv URI URI 将文件从源路径移动到目标路径。这个命令允许有多个源路径,此时目标路径必须是一个目录。不允许在不同的文件系统间移动文件。 示例: hadoop fs -mv /user/hadoop/file1 /user/hadoop/file2 hadoop fs -mv hdfs:/host:port/file1 hdfs:/host:port/file2 hdfs:/host:port/file3 hdfs:/host:por

19、t/dir1put使用方法:hadoop fs -put . 从本地文件系统中复制单个或多个源路径到目标文件系统。也支持从标准输入中读取输入写入目标文件系统。 hadoop fs -put localfile /user/hadoop/hadoopfile hadoop fs -put localfile1 localfile2 /user/hadoop/hadoopdir hadoop fs -put localfile hdfs:/host:port/hadoop/hadoopfile hadoop fs -put - hdfs:/host:port/hadoop/hadoopfile 从

20、标准输入中读取输入。rm使用方法:hadoop fs -rm URI URI 删除指定的文件。只删除非空目录和文件。请参考rmr命令了解递归删除。示例: hadoop fs -rm hdfs:/host:port/file /user/hadoop/emptydirrmr使用方法:hadoop fs -rmr URI URI delete的递归版本。示例: hadoop fs -rmr /user/hadoop/dir hadoop fs -rmr hdfs:/host:port/user/hadoop/dir第三部分:MapReduces作业管理 查看 Job 信息 hadoop job -

21、list 杀掉 Job hadoop job kill指定路径下查看历史日志汇总hadoop job -history output-dir作业的更多细节hadoop job -history all output-dir打印map和reduce完成百分比和所有计数器 hadoop job status job_id杀死任务。被杀死的任务不会不利于失败尝试。hadoop jab -kill-task 使任务失败。被失败的任务会对失败尝试不利。hadoop job -fail-task Hadoop mradmin命令说明-refreshServiceAcl重新装载ACL认证文件-refresh

22、Queues刷新任务队列的信息-refreshUserToGroupsMappings刷新用户与用户组对应关系-refreshSuperUserGroupsConfiguration刷新用户组的配置-refreshNodes刷新JobTracker的主机配置信息 Web端介绍Web UI 有足够的信息,供我们查看Job运行的信息与历史运行记录.URL:http:/:8088/ 第三部分:Hadoop集群的维护安全模式安全模式是Namenode的一个状态,这种状态下,此时文件系统中的内容不允许修改也不允许删除,直到安全模式结束。安全模式主要是为了系统启动的时候检查各个DataNode上数据块的有

23、效性,同时根据策略必要的复制或者删除部分块数据。NameNode会在启动时自动进入安全模式,当配置的块最小百分比数满足最小的副本数条件时,会自动离开安全模式,安全模式可以手动进入。参数dfs.safemode.threshold.pct 位于hdfs-site.xml模式设置查看命令行:hadoop dfsadmin -safemode enter | leave | get | wait作为管理人员,掌握NameNode进入和退出安全模式的方法,这些操作有时是必须的,比如在升级完集群后需要确认数据是否仍然可读等。进入和离开安全模式:查看namenode处于哪个状态 hadoop dfsadm

24、in safemode get进入安全模式(hadoop启动的时候是在安全模式) hadoop dfsadmin safemode enter离开安全模式 hadoop dfsadmin -safemode leave数据扫描块每一个DataNode都会运行一个数据扫描线程扫描线程定期的检查所有数据块以确保修复损坏的块周期可以设定dfs.datanode.scan.period.hourses 默认是504小时在UI部分可以查看检查的情况http:/datanodeIP:50075/blockScannerReport通过指定listblocks参数可以报告最新的状态http:/datanod

25、e:50075/blockScannerReport?Listblocks数据的备份HDFS的设计目标之一就是能够可靠地在分布式集群中存储数据。HDFS允许数据丢失,所以数据的备份就显得格外重要了。由于Hadoop可存储大规模数据,备份那些数据,备份的哪里就成为一个关键问题,在备份过程中优先备份的是那些不能再生的数据和对商业最关键的数据。而对于那些可再生的数据或对商业应用不是很大的可以次要考虑备份或者不备份。需要说明的是不要认为HDFS副本机制可以替代数据的备份,HDFS中的bug,硬件故障, 另外加上极端情况下软件bug和人为失误,这些都会导致副本的丢失。通常Hadoop会设置用户目录的策略

26、,比如,每个用户都有一个空间配额,每天晚上都可进行备份工作。但是不管设置怎样的策略,都需要通知用户,以免客户反映问题。在备份方面,Hadoop有一个叫distcp(分布式复制)的有用程序,能从Hadoop的文件系统并行复制大量数据。distcp一般用于在两个HDFS集群中传输数据。如果集群在Hadoop的同一版本上运行,就适合使用hdfs方案:hadoop distcp hdfs:/namenode1/foo hdfs:/namenode2/bar 这将从第一个集群中复制/foo目录(和它的内容)到第二个集群中的/bar目录下,所以第二个集群会有/bar/foo目录结构。如果/bar不存在,则

27、新建一个。我们可以指定多个源路径,并且所有的都会被复制到目标路径。源路径必须是绝对路径。默认情况下,distcp会跳过目标路径已经有的文件,但可以通过提供的-overwrite选项进行覆盖。也可以用-update选项来选择只更新那些修改过的文件。注意:使用-overwrite和-update中任意一个(或两个)选项会改变源路径和目标路径的含义。这可以用一个例子清楚说明。如果改变先前例子中第一个集群的子树/foo下的一个文件,就能通过运行对第二个集群的改变进行同步:hadoop distcp -update hdfs:/namenode1/foo hdfs:/namenode2/bar/foo

28、目标路径需要末尾这个额外的子目录/foo,因为源目录下的内容已被复制到目标目录下。(如果熟悉rsync,你可以想像-overwrite或-update项对源路径而言,如同添加一个隐含的斜杠。)distcp是作为一个MapReduce作业执行的,复制工作由集群中并行运行的map来完成。这里并没有reducer。每个文件都由一个单一的map进行复制,并且distcp通过将文件分成大致相等的文件来为每个map数量大致相同的数据。map的数量是这样确定的。通过让每一个map复制数量合理的数据以最小化任务建立所涉及的开销,是一个很好的想法,所以每个map的副本至少为256 MB。(除非输入的总大小较少,

29、否则一个map就足以操控全局。)例如,1 GB的文件会被分成4个map任务。如果数据很大,为限制带宽和集群的使用而限制映射的数量就变得很有必要。map默认的最大数量是每个集群节点(tasktracker)有20个。例如,复制1000 GB的文件到一个100个节点的集群,会分配2000个map(每个节点20个map),所以平均每个会复制512 MB。通过对distcp指定-m参数,会减少映射的分配数量。例如,-m 1000会分配1000个map,平均每个复制1 GB。如果想在两个运行着不同版本HDFS的集群上利用distcp,使用hdfs协议是会失败的,因为RPC系统是不兼容的。想要弥补这种情况

30、,可以使用基于HTTP的HFTP文件系统从源中进行读取。这个作业必须运行在目标集群上,使得HDFS RPC版本是兼容的。使用HFTP重复前面的例子:hadoop distcp hftp:/namenode1:50070/foo hdfs:/namenode2/bar 注意,需要在URI源中指定名称节点的Web端口。这是由dfs.http.address的属性决定的,默认值为50070。保持HDFS集群的平衡向HDFS复制数据或者进行备份时,考虑集群的平衡相当重要。文件块在集群中均匀地分布时,HDFS能达到最佳工作状态,否则一个不平衡的集群会影响系统资源的充分利用,所以我们要避免这种情况。以1000 GB数据为例子,通过指定-m选项为1,即由一个单一的map执行复制工作,它的意思是,不考虑速度变慢和未充分利用集群资源,每个块的第一个副本会存储在运行map的节点上(

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1