您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据挖掘与识别 > Hadoop大数据平台部署与应用
Hadoop大数据平台部署与应用主讲:吕震宇主要内容1、Hadoop生态系统概述以及版本演化2、Hadoop发行版介绍(开源版)3、Hadoop安装4、HDFS上机操作5、HBASE上机操作6、YARN上机操作7、MapReduce上机操作8、SPARK概述1、Hadoop生态系统概述以及版本演化Hadoop1.0与Hadoop2.0•分布式存储系统HDFS(HadoopDistributedFileSystem)提供了高可靠性、高扩展性和高吞吐率的数据存储服务•分布式计算框架MapReduce具有易于编程、高容错性和高扩展性等优点•资源管理系统YARN(YetAnotherResourceNegotiator)负责集群资源的统一管理和调度HADOOP1.0HADOOP2.0HDFS(redundant,reliablestorage)MapReduce(clusterresourcemanagement&dataprocessing)MapReduce(dataprocessing)Others(dataprocessing)YARN(clusterresourcemanagement)HDFS(redundant,reliablestorage)HDFS架构DataNodeDataNodeDataNodeDataNodeDataNodeLocalDiskNameNodeSecondaryNameNodeHDFSClientLocalDiskLocalDiskLocalDiskLocalDisk心跳、均衡负载、复制等HDFS架构ActiveNamenode主Master(只有一个),管理HDFS的名称空间,管理数据块映射信息配置副本策略;处理客户端读写请求SecondaryNameNodeNameNode的热备;定期合并fsimage和fsedits,推送给NameNode;当ActiveNameNode出现故障时,快速切换为新的ActiveNameNode。DatanodeSlave(有多个);存储实际的数据块;执行数据块读/写Client与NameNode交互,获取文件位置信息;与DataNode交互,读取或者写入数据;管理HDFS、访问HDFS。MapReduce源自于Google的MapReduce论文发表于2004年12月HadoopMapReduce是GoogleMapReduce克隆版MapReduce特点良好的扩展性高容错性适合PB级以上海量数据的离线处理词频统计的MapReduce处理过程DeerBearRiverCarCarRiverDeerCarBearDeer,1Bear,1River,1Car,1Car,1River,1Deer,1Car,1Bear,1DeerBearRiverCarCarRiverDeerCarBearBear,1Bear,1Car,1Car,1Car,1Deer,1Deer,1River,1River,1Bear,2Car,3Deer,2River,2Bear,2Car,3Deer,2River,2InputSplittingMappingReducingShufflingFinalresultHadoop构成:YARN(资源管理系统)ApplicationRunNativelyINHadoopBATCH(MapReduce)YARN(ClusterResourceManagement)HDFS2(Redundant,ReliableStorage)InterActive(Tez)ONLINE(HBase)STREAMING(Storm,S4,…)GRAPH(Giraph)IN-MEMORY(Spark)HPCMPI(OpenMPI)OTHER(Search…)•YARN是什么Hadoop2.0新增系统负责集群的资源管理和调度使得多种计算框架可以运行在一个集群中•YARN的特点良好的扩展性、高可用性对多种类型的应用程序进行统一管理和调度自带多种多用户调度器,适合共享集群环境Hadoop生态系统:1.0时代Flume(日志收集)Zookeeper(分布式协调服务)Mahout(数据挖掘库)Hive(数据仓库)Oozie(作业流调度系统)MapReduce(分布式计算框架)Ambari(安装部署工具)HDFS(分布式存储系统)Pig(工作流引擎)Hbase(分布式数据库)Sqoop(数据库TEL工具)Hive(基于MR的数据仓库)由Facebook开源,最初用于海量结构化日志数据统计;ETL(Extraction-Transformation-Loading)工具构建在Hadoop之上的数据仓库数据计算使用MapReduce,数据存储使用HDFSHive定义了一种类SQL查询语言——HQL类似SQL,但不完全相同通常用于进行离线数据处理(采用MapReduce)可认为是一个HQL→MR的语言翻译器Pig(作业流引擎)由yahoo!开源是提供一种基于MapReduce的ad-hoc数据分析工具构建在Hadoop之上的数据仓库定义了一种数据流语言——PigLatin通常用于进行离线分析WordCount:MapReduce实现publicstaticclassTokenizerMapperextendsMapperObject,Text,Text,IntWritable{privatefinalstaticIntWritableone=newIntWritable(1);privateTextword=newText();publicvoidmap(Objectkey,Textvalue,Contextcontext)throwsIOException,InterruptedException{StringTokenizeritr=newStringTokenizer(value.toString());while(itr.hasMoreTokens()){word.set(itr.nextToken());context.write(word,one);}}}publicstaticclassIntSumReducerextendsReducerText,IntWritable,Text,IntWritable{privateIntWritableresult=newIntWritable();publicvoidreduce(Textkey,IterableIntWritablevalues,Contextcontext)throwsIOException,InterruptedException{intsum=0;for(IntWritableval:values){sum+=val.get();}result.set(sum);context.write(key,result);}}WordCount:MapReduce实现publicstaticvoidmain(String[]args)throwsException{Configurationconf=newConfiguration();String[]otherArgs=newGenericOptionsParser(conf,args).getRemainingArgs();if(otherArgs.length!=2){System.err.println(Usage:wordcountinout);System.exit(2);}Jobjob=newJob(conf,wordcount);job.setJarByClass(WordCount.class);job.setMapperClass(TokenizerMapper.class);job.setCombinerClass(IntSumReducer.class);job.setReducerClass(IntSumReducer.class);job.setOutputKeyClass(Text.class);job.setOutputValueClass(IntWritable.class);FileInputFormat.addInputPath(job,newPath(otherArgs[0]));FileOutputFormat.setOutputPath(job,newPath(otherArgs[1]));System.exit(job.waitForCompletion(true)?0:1);}WordCount:Hive实现SELECTword,COUNT(*)FROMdocLATERALVIEWexplode(split(text,''))lTableaswordGROUPBYword;WordCount:Pig实现--①加载数据input=load‘/input/data’as(line:chararray);--②将字符串分割成单词words=foreachinputgenerateflatten(TOKENIZE(line))asword;--③对单词进行分组grpd=groupwordsbyword;--④统计每组中单词数量cntd=foreachgrpdgenerategroup,COUNT(words);--⑤打印结果dumpcntd;Mahout(数据挖掘库)Mahout基于Hadoop的机器学习和数据挖掘的分布式计算框架实现了三大类算法推荐(Recommendation)聚类(Clustering)分类(Classification)Hbase(分布式数据库)源自Google的Bigtable论文发表于2006年11月Hbase是GoogleBigtable克隆版Hadoop生态系统:2.0时代Flume(日志收集)Zookeeper(分布式协调服务)Tez(DAG计算)SharkOozie(作业流调度系统)MapReduce(分布式计算框架)Ambari(安装部署工具)HDFS(分布式存储系统)Hbase(分布式数据库)Sqoop(数据库TEL工具)HivePigYARN(分布式计算框架)Spark(内存计算)Hive2Pig2…………2、Hadoop发行版介绍(开源版)Hadoop发行版介绍(开源版)ApacheHadoop推荐使用最新的2.x.x版本,比如2.4.0下载地址:SVN:CDH(ClouderaDistributedHadoop)推荐使用最新的CDH5版本,比如CDH5.0.0下载地址:HDP(HortonworksDataPlatform)推荐使用最新的HDP2.x版本,比如HDP2.1版本下载地址:版本演化:HDPHadoop版本演化:CDH3、Hadoop安装Hadoop安装——软件准备下载IntellijIDEA(在windows中安装即可)选择CommunityEdition下载Hadoop安装包hadoop:hbase:sp
本文标题:Hadoop大数据平台部署与应用
链接地址:https://www.777doc.com/doc-6164379 .html