10hadoop实战培训

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

—高级软件人才实作培训专家!Hahoop培训讲师:刘刚—高级软件人才实作培训专家!北京传智播客教育海量数据处理平台架构一般网站把用户的访问行为记录以apach日志的形式记录下来了,这些日志中包含了下面一些关键字段:client_ip,user_id,access_time,url,referer,status,page_size,agent因为需要统一对数据进行离线计算,所以常常把它们全部移到同一个地方。简单算了一下:(1)网站请求数:1kw/天(2)每天日志大小:450Byte/行*1kw=4.2G,(3)日志存储周期:2年一天产生4.5G的日志,2年需要4.2G*2*365=3.0T解决方案:①为了方便系统命令查看日志,不压缩,总共需要3.0T的空间,刚好有一些2U的服务器,每台共1T的磁盘空间。②为了避免系统盘坏掉影响服务器使用,对系统盘做了raid1。③为了避免其他存放数据的盘坏掉导致数据无法恢复,对剩下的盘做了raid5。④所有的数据都汇聚到这几台LogBackup服务器上来了。—高级软件人才实作培训专家!北京传智播客教育服务器,离线统计就可以全部在这些服务器上进行了。在这套架构上,用wc、grep、sort、uniq、awk、sed等系统命令,完成了很多的统计需求,比如统计访问频率较高的client_ip,某个新上线的的页面的referer主要是哪些网站。当业务的迅猛发展,网站流量爆发增长,产品经理如果想从中获取更多的用户特征和用户信息,就需要我们这些数据分析人员从不同的日志中找到令他们满意的答案。如果(1)日志总行数:10亿/天(2)每天日志大小:450Byte/行*10亿=420G,(3)日志种类:5种—高级软件人才实作培训专家!北京传智播客教育能解决哪些问题海量数据需要及时分析和处理。海量数据需要深入分析和挖掘。数据需要长期保存问题:磁盘IO成为一种瓶颈,而非CPU资源。网络带宽是一种稀缺资源硬件故障成为影响稳定的一大因素—高级软件人才实作培训专家!北京传智播客教育在国内的情景奇虎360:Hadoop存储软件管家中软件,使用CDN技术将用户请求引到最近的Hadoop集群并进行下载京东、百度:存储、分析日志、数据挖掘和机器学习(主要是推荐系统)广告类公司:存储日志,通过协调过滤算法为客户推荐广告Yahoo:垃圾邮件过滤华为:云计算平台Facebook:日志存储,实时分析某公安部项目:网民QQ聊天记录与关联人调查系统,使用Hbase实现某学校:学生上网与社会行为分析,使用hadoop淘宝、阿里:国内使用Hadoop最深入的公司,整个Taobao和阿里都是数据驱动的—高级软件人才实作培训专家!北京传智播客教育开发人员市场需求和待遇—高级软件人才实作培训专家!北京传智播客教育在国内的人才储备—高级软件人才实作培训专家!北京传智播客教育)作者:DougCutting2)用Java编写的开源系统,能够安排在大规模的计算平台上,从而长进计算效率。3)Nutch搜索引擎里面的一个模块。4)受Google三篇论文的启发---MapReduceGFSBigtable5)googlehadoopmapreducemapreduceGFSHDFSBigtableHbase—高级软件人才实作培训专家!北京传智播客教育生态系统介绍Hbase1)Nosql数据库,Key-Value存储2)最大化利用内存HDFS1)hadoopdistributefilesystem分布式文件系统2)最大化利用磁盘MapReduce1)编程模型,主要用来做数据的分析2)最大化利用CPU—高级软件人才实作培训专家!北京传智播客教育篇—高级软件人才实作培训专家!北京传智播客教育设计原则文件以块(block)方式存储每个块带下远比多数文件系统来的大(预设64M)通过副本机制提高可靠度和读取吞吐量每个区块至少分到三台DataNode上单一master(NameNode)来协调存储元数据(metadata)客户端对文件没有缓存机制(Nodatacaching)—高级软件人才实作培训专家!北京传智播客教育系统结构—高级软件人才实作培训专家!北京传智播客教育(NN)NameNode主要功能提供名称查询服务,它是一个jetty服务器NameNode保存metadate信息包括文件owership和permissions文件包含哪些块Block保存在哪个DataNode(由DataNode启动时上报)NameNode的metadate信息在启动后会加载到内存metadata存储到磁盘文件名为”fsimage”Block的位置信息不会保存到fsimage—高级软件人才实作培训专家!NameNode块存储结构metadate物理存储结构—高级软件人才实作培训专家!DataNode(DN)•保存Block•启动DN线程的时候会向NN汇报block信息•通过向NN发送心跳保持与其联系(3秒一次),如果NN10分钟没有收到DN的心跳,则认为其已经lost,并copy其上的block到其它DN—高级软件人才实作培训专家!Block的副本放置策略•第一个副本:放置在上传文件的DN;如果是集群外提交,则随机挑选一台磁盘不太满,CPU不太忙的节点•第二个副本:放置在于第一个副本不同的机架的节点上•第三个副本:与第二个副本相同集群的节点•更多副本:随机节点—高级软件人才实作培训专家!北京传智播客教育设置一个Block64MB,如果上传文件小于该值,仍然会占用一个Block的命名空间(NameNodemetadata),但是物理存储上不会占用64MB的空间Block大小和副本数由Client端上传文件到HDFS时设置,其中副本数可以变更,Block是不可以再上传后变更的—高级软件人才实作培训专家!北京传智播客教育数据损坏(corruption)处理当DN读取block的时候,它会计算checksum如果计算后的checksum,与block创建时值不一样,说明该block已经损坏。client读取其它DN上的block;NN标记该块已经损坏,然后复制block达到预期设置的文件备份数DN在其文件创建后三周验证其checksum—高级软件人才实作培训专家!19HDFS文件权限•与Linux文件权限类似•r:read;w:write;x:execute,权限x对于文件忽略,对于文件夹表示是否允许访问其内容•如果Linux系统用户zhangsan使用hadoop命令创建一个文件,那么这个文件在HDFS中owner就是zhangsan•HDFS的权限目的:阻止好人错错事,而不是阻止坏人做坏事。HDFS相信,你告诉我你是谁,我就认为你是谁—高级软件人才实作培训专家!HDFS文件读取—高级软件人才实作培训专家!HDFS文件写入—高级软件人才实作培训专家!北京传智播客教育文件存储两个文件,一个文件156M,一个文件128在HDFS里面怎么存储?--Block为64MB--rapliction默认拷贝3份—高级软件人才实作培训专家!北京传智播客教育文件存储结构—高级软件人才实作培训专家!北京传智播客教育开发常用命令创建一个文件夹?上传一个文件?删除一个文件和文件夹?查看一个文件夹里面有哪些文件?查看某个文件的内容?—高级软件人才实作培训专家!北京传智播客教育管理员常用命令hadoopjob–list#列出正在运行的Jobhadoopjob–killjob_id#killjobhadoopfsck/#检查HDFS块状态,是否损坏hadoopfsck/-delete#检查HDFS块状态,删除损坏块hadoopdfsadmin–report#检查HDFS状态,包括DN信息hadoopdfsadmin–safemodeenter|leavehadoopdistcphdfs://a:8020/xxxhdfs://b:8020///#并行copy./bin/start-balancer.sh#平衡集群文件—高级软件人才实作培训专家!北京传智播客教育(Configurationconf)operator(){//step1得到Configuration对象//step2得到FileSystem对象//step3进行文件操作}—高级软件人才实作培训专家!北京传智播客教育文件操作1.1上传本地文件到hadoopfs1.2在hadoopfs中新建文件,并写入1.3删除hadoopfs上的文件1.4读取文件1.5文件修改时间2.目录操作2.1在hadoopfs上创建目录2.2删除目录2.3读取某个目录下的所有文件2.4遍历hdfs3.hdfs信息查找某个文件在HDFS集群的位置获取HDFS集群上所有节点名称信息—高级软件人才实作培训专家!北京传智播客教育篇—高级软件人才实作培训专家!北京传智播客教育下载hadoop-0.20.2.tar.gz,目前最新版为1.0.3。下载完后解压文件,y有hadoop-0.20.2-core.jar,hadoop-0.20.2-examples.jar,hadoop-0.20.2-core.jar:hadoop的核心类库Hadoop所依赖的jar:hadoop所依赖的jar在lib目录下面。Hadoop自带的一些案例分析:hadoop-0.20.2-examples.jar是hadoop-0.20.2自带的一些案例。介绍如下:1)aggregatewordcount计算输入文件中文字个数的基于聚合的MapReduce程序。2)aggregatewordhist生成输入文件中文字个数的统计图的基于聚合的MapReduce程序。3)grep计算输入文件中匹配正则表达式的文字个数的MapReduce程序。4)join合并排序的平均分割的数据集的作业。5)pentomino解决五格拼版问题的分块分层的MapReduce程序。—高级软件人才实作培训专家!北京传智播客教育)pi使用蒙地卡罗法计算PI的MapReduce程序。7)Randomtextwriter在一个节点上写10G随机文本的MapReduce程序。8)randomwriter在每个节点上写10G随机数据的MapReduce程序。9)sleep在每个Map和Reduce作业中休憩的程序。10)sort排序随机写入器生成的数据的MapReduce程序。11)sudoku一个九宫格游戏的解决方案。12)wordcount在输入文件中统计文字个数的统计器。—高级软件人才实作培训专家!实例写MapReduce程序的步骤:1.把问题转化为MapReduce模型2.设置运行的参数3.写

1 / 56
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功