欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Hadoop大数据平台部署与应用.pptx

    • 资源ID:70272728       资源大小:1.15MB        全文页数:61页
    • 资源格式: PPTX        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Hadoop大数据平台部署与应用.pptx

    Hadoop大数据平台部署与应用主讲:吕震宇主要内容l1、Hadoop 生态系统概述以及版本演化l2、Hadoop 发行版介绍(开源版)l3、Hadoop 安装l4、HDFS 上机操作l5、HBASE 上机操作l6、YARN 上机操作l7、MapReduce 上机操作l8、SPARK 概述1、Hadoop 生态系统概述以及版本演化Hadoop 1.0 与 Hadoop 2.0分布式存储系统 HDFS(Hadoop Distributed File System)提供了高可靠性、高扩展性和高吞吐率的数据存储服务分布式计算框架 MapReduce具有易于编程、高容错性和高扩展性等优点资源管理系统 YARN(Yet Another Resource Negotiator)负责集群资源的统一管理和调度HADOOP 1.0HADOOP 2.0HDFS(redundant,reliable storage)MapReduce(cluster resource management&data processing)MapReduce(data processing)Others(data processing)YARN(cluster resource management)HDFS(redundant,reliable storage)HDFS 架构DataNodeDataNodeDataNodeDataNodeDataNodeLocal DiskNameNodeSecondaryNameNodeHDFSClientLocal DiskLocal DiskLocal DiskLocal Disk心跳、均衡负载、复制等HDFS 架构lActive Namenodel主 Master(只有一个),管理 HDFS 的名称空间,管理数据块映射信息l配置副本策略;处理客户端读写请求lSecondary NameNodelNameNode 的热备;定期合并 fsimage 和 fsedits,推送给 NameNode;l当 Active NameNode 出现故障时,快速切换为新的 Active NameNode。lDatanodelSlave(有多个);存储实际的数据块;执行数据块读/写lClientl与 NameNode 交互,获取文件位置信息;l与 DataNode 交互,读取或者写入数据;管理 HDFS、访问 HDFS。MapReducel源自于 Google 的 MapReduce 论文l发表于 2004 年 12 月lHadoop MapReduce 是 Google MapReduce 克隆版lMapReduce特点l良好的扩展性l高容错性l适合 PB 级以上海量数据的离线处理词频统计的 MapReduce 处理过程Deer Bear RiverCar Car RiverDeer Car BearDeer,1Bear,1River,1Car,1Car,1River,1Deer,1Car,1Bear,1Deer Bear RiverCar Car RiverDeer Car BearBear,1Bear,1Car,1Car,1Car,1Deer,1Deer,1River,1River,1Bear,2Car,3Deer,2River,2Bear,2Car,3Deer,2River,2InputSplittingMappingReducingShufflingFinal resultHadoop 构成:YARN(资源管理系统)Application Run Natively IN HadoopBATCH(MapReduce)YARN(Cluster Resource Management)HDFS2(Redundant,Reliable Storage)InterActive(Tez)ONLINE(HBase)STREAMING(Storm,S4,)GRAPH(Giraph)IN-MEMORY(Spark)HPC MPI(OpenMPI)OTHER(Search)YARN是什么Hadoop 2.0 新增系统负责集群的资源管理和调度使得多种计算框架可以运行在一个集群中YARN的特点良好的扩展性、高可用性对多种类型的应用程序进行统一管理和调度自带多种多用户调度器,适合共享集群环境Hadoop 生态系统:1.0 时代Flume(日志收集)Zookeeper(分布式协调服务)Mahout(数据挖掘库)Hive(数据仓库)Oozie(作业流调度系统)MapReduce(分布式计算框架)Ambari(安装部署工具)HDFS(分布式存储系统)Pig(工作流引擎)Hbase(分布式数据库)Sqoop(数据库TEL工具)Hive(基于MR的数据仓库)l由Facebook开源,最初用于海量结构化日志数据统计;lETL(Extraction-Transformation-Loading)工具l构建在Hadoop之上的数据仓库l数据计算使用 MapReduce,数据存储使用HDFSlHive 定义了一种类 SQL 查询语言HQLl类似SQL,但不完全相同l通常用于进行离线数据处理(采用 MapReduce)l可认为是一个 HQLMR 的语言翻译器Pig(作业流引擎)l由 yahoo!开源l是提供一种基于 MapReduce 的 ad-hoc 数据分析工具l构建在Hadoop之上的数据仓库l定义了一种数据流语言 Pig Latinl通常用于进行离线分析WordCount:MapReduce 实现public static class TokenizerMapper extends Mapper private final static IntWritable one=new IntWritable(1);private Text word=new Text();public void map(Object key,Text value,Context context )throws IOException,InterruptedException StringTokenizer itr=new StringTokenizer(value.toString();while(itr.hasMoreTokens()word.set(itr.nextToken();context.write(word,one);public static class IntSumReducer extends Reducer private IntWritable result=new IntWritable();public void reduce(Text key,Iterable values,Context context )throws IOException,InterruptedException int sum=0;for(IntWritable val:values)sum+=val.get();result.set(sum);context.write(key,result);WordCount:MapReduce 实现public static void main(String args)throws Exception Configuration conf=new Configuration();String otherArgs=new GenericOptionsParser(conf,args).getRemainingArgs();if(otherArgs.length!=2)System.err.println(Usage:wordcount );System.exit(2);Job job=new Job(conf,word count);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,new Path(otherArgs0);FileOutputFormat.setOutputPath(job,new Path(otherArgs1);System.exit(job.waitForCompletion(true)?0:1);WordCount:Hive 实现SELECT word,COUNT(*)FROM doc LATERAL VIEW explode(split(text,)lTable as word GROUP BY word;WordCount:Pig 实现-加载数据input=load/input/data as(line:chararray);-将字符串分割成单词words=foreach input generateflatten(TOKENIZE(line)as word;-对单词进行分组grpd=group words by word;-统计每组中单词数量cntd=foreach grpd generate group,COUNT(words);-打印结果dump cntd;Mahout(数据挖掘库)lMahoutl基于Hadoop的机器学习和数据挖掘的分布式计算框架l实现了三大类算法l推荐(Recommendation)l聚类(Clustering)l分类(Classification)Hbase(分布式数据库)l源自 Google 的 Bigtable 论文l发表于 2006 年 11 月lHbase 是 Google Bigtable 克隆版Hadoop 生态系统:2.0 时代Flume(日志收集)Zookeeper(分布式协调服务)Tez(DAG计算)SharkOozie(作业流调度系统)MapReduce(分布式计算框架)Ambari(安装部署工具)HDFS(分布式存储系统)Hbase(分布式数据库)Sqoop(数据库TEL工具)HivePigYARN(分布式计算框架)Spark(内存计算)Hive2Pig22、Hadoop 发行版介绍(开源版)Hadoop 发行版介绍(开源版)lApache Hadoopl推荐使用最新的2.x.x版本,比如2.4.0l下载地址:http:/hadoop.apache.org/releases.htmllSVN:http:/svn.apache.org/repos/asf/hadoop/common/branches/lCDH(Cloudera Distributed Hadoop)l推荐使用最新的 CDH5 版本,比如 CDH 5.0.0l下载地址:http:/ Data Platform)l推荐使用最新的 HDP 2.x 版本,比如 HDP 2.1 版本l下载地址:http:/ 版本演化:HDPHadoop 版本演化:CDH3、Hadoop 安装Hadoop 安装 软件准备l下载 Intellij IDEA(在windows中安装即可)lhttps:/ Community Editionl下载 Hadoop 安装包lhadoop:lhttp:/ lhbase:lhttp:/ lspark:lhttp:/ l下载 JDK 安装包Hadoop 安装 安装操作系统l安装 Vmware Workstation 10.0.0.4l在虚拟机中安装 Ubuntu 12.04 操作系统l目前虚拟机已经准备好,可以直接使用l映射虚拟目录l为虚拟机添加共享文件夹l在虚拟机中 mount 文件夹sudo mount-t vmhgfs.host:/mnt/hgfs/Hadoop 安装 JDKl安装 JDKl将 jdk-6u45-linux-i586.bin 拷贝到/usr/lib/jvm 文件夹,运行命令:chmod+x/usr/lib/jvm/jdk-6u45-linux-i586.binsudo/usr/lib/jvm/jdk-6u45-linux-i586.binl修改/etc/profile 文件sudo gedit/etc/profilel向/etc/profile 追加如下代码并保存export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_45export PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarl更新/etc/profile 文件,最好重新登录source/etc/profile l验证 JDK 安装正确java versionHadoop 安装 安装 Hadoopl安装 Hadoopl1)将 hadoop-2.5.0-cdh5.2.0.tar.gz 拷贝到工作目录下l2)解压 hadoop压缩包tar zxvf hadoop-2.5.0-cdh5.2.0.tar.gzl3)拷贝 experiment/single-cluster 下的 core-site.xml 和 hdfs-site.xml 文件到 hadoop-2.5.0-cdh5.2.0/etc/hadoop/目录l4)拷贝 experiment/single-cluster 下的 mapred-site.xml 和 yarn-site.xml 文件到 hadoop-2.5.0-cdh5.2.0/etc/hadoop/目录l5)修改 etc/hadoop/下的几个配置文件:l(1)hadoop-env.sh可以在命令窗口中使用下面显示java安装目录:echo$JAVA_HOME将 export JAVA_HOME=$JAVA_HOME 修改为export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_45/l(2)hdfs-site.xmll将 dfs.namenode.name.dir 和 dfs.datanode.data.dir 改成自己对应的路径l6)启动 HDFS 和 YARNl(1)启动 HDFS格式化 HDFS(第一次使用前做一次就可以了):bin/hadoop namenode-format启动 namenodesbin/hadoop-daemon.sh start namenode启动 datanodesbin/hadoop-daemon.sh start datanodel(2)启动 YARN启动 resourcemanager:sbin/yarn-daemon.sh start resourcemanager启动 nodemanager:sbin/yarn-daemon.sh start nodemanagerl(3)备注停止 resourcemanager:sbin/yarn-daemon.sh stop resourcemanager停止 nodemanager:sbin/yarn-daemon.sh stop nodemanagerl7)验证安装成功l打开浏览器(比如 firefox),输入l(1)开启 HDFS 界面http:/localhost:50070/l(2)YARN 界面http:/localhost:8088/l8)使用 HDFSl(1)创建目录bin/hdfs dfs-mkdir/tmpbin/hdfs dfs-mkdir/tmp/inputl(2)将本地文件上传到 HDFS 上bin/hdfs dfs-put src/BUILDING.txt/tmp/inputl(3)查看上传到 HDFS 中的文件bin/hdfs dfs-ls/tmp/inputl9)运行 MapReduce 程序bin/hadoop jar share/hadoop/mapreduce2/hadoop-mapreduce-examples-2.5.0-cdh5.2.0.jar pi 2 10004、HDFS 上机操作HDFS shell 使用l文件操作命令为:“bin/hdfs dfs”l1)创建目录bin/hdfs dfs-mkdir/tmp/inputl2)删除目录bin/hdfs dfs-rmr/tmp/inputl3)将本地文件上传到 HDFSbin/hdfs dfs-put src/BUILDING.txt/tmp/inputl4)将 HDFS 上文件下载到本地,并保存成 downloadbin/hdfs dfs-get/tmp/input/BUILDING.txt downloadbin/hdfs dfs-get/tmp/input/BUILDING.txt.l5)查看 HDFS 目录大小bin/hdfs dfs-du-h/tmp/input使用 java 编程访问 HDFSl基本步骤l1、创建 java 项目l2、添加对 Hadoop jar 包的引用l3、编写代码l4、编译并部署到 Hadoop 上运行l操作视频l使用java编程访问HDFS.mp4public static void testMkdirPath(String path)throws Exception FileSystem fs=null;try System.out.println(Creating +path+on hdfs.);Configuration conf=new Configuration();/First create a new directory with mkdirs Path myPath=new Path(path);fs=myPath.getFileSystem(conf);fs.mkdirs(myPath);System.out.println(Create +path+on hdfs successfully.);catch(Exception e)System.out.println(Exception:+e);finally if(fs!=null)fs.close();public static void testDeletePath(String path)throws Exception FileSystem fs=null;try System.out.println(Deleting +path+on hdfs.);Configuration conf=new Configuration();Path myPath=new Path(path);fs=myPath.getFileSystem(conf);fs.delete(myPath,true);System.out.println(Deleting +path+on hdfs successfully.);catch(Exception e)System.out.println(Exception:+e);finally if(fs!=null)fs.close();5、Hbase 上机操作Hbase 安装l1)拷贝 hbase 安装包到当前用户文件夹l2)解压 hbase 安装包tar-zxvf hbase-0.98.6-cdh5.2.0.tar.gzcd hbase-0.98.6-cdh5.2.0l3)修改 conf 下配置文件l(1)修改hbase-env.sh,添加 JAVA_HOME:export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_45/l(2)修改hbase-site.xml,替换为下页内容:由于单机操作,所以可以不用修改配置文件l4)启动 hbasebin/start-hbase.sh hbase.rootdir file:/tmp/CORP/xicheng.dong/hbase hbase.zookeeper.property.dataDir file:/tmp/CORP/xicheng.dong/zookeeper HBase shell 命令l1)启动 Hbase Shelll进入hbase目录l输入 bin/hbase shell,进入shell交互式终端l2)使用 Hbase Shell 对数据库执行操作l(1)创建表,包含两个 column family:cf1 和 cf2create test_table,NAME=cf1,VERSIONS=3,NAME=cf2,VERSIONS=1l(2)查看表结构ldescribe test_tableHBase shell 命令l(3)向表中插入元素put test_table,row1,cf1:c1,dongxichengput test_table,row1,cf1:c2,dongxichengput test_table,row1,cf2:c21,xichengl(4)获取某条记录get test_table,row1COLUMN CELL cf1:c1 timestamp=1417352748378,value=dongxicheng cf1:c2 timestamp=1417352787228,value=dongxicheng cf2:c21 timestamp=1417352808657,value=xicheng3 row(s)in 0.1180 secondsHBase shell 命令l(5)查看表中总记录数count test_table1 row(s)in 0.1200 seconds=1l(6)列出所有表listTABLEtest_table1 row(s)in 0.2310 secondsl(7)删除表disable test_table0 row(s)in 1.7160 secondsdrop test_table0 row(s)in 0.2070 seconds运行HBase上的程序l基本步骤l1、创建 java 项目l2、添加对 Hadoop、Hbase jar 包的引用l3、编写代码l4、编译并部署到 Hadoop 上运行java-cp/mnt/hgfs/Hadoop/my-hbase.jar com.hbase.example.HBaseExamplebin/hbase shelllistget scores,dongxicheng会发现创建了一个 scores 表,里面有一条记录。l操作视频l向Hbase部署Java程序.mp46、YARN 上机操作l运行以下两条命令测试 YARN(?不懂)bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0-cdh5.2.0.jar wordcount/tmp/input/tmp/outputl可以使用以下命令查看结果:bin/hdfs dfs cat/tmp/output/part-r-000007、MapReduce 上机操作l基本步骤l1、创建 java 项目,添加引用并编译l2、运行 WordCountl(1)将编译后的 jar 包拷贝到 ubuntu 工作目录下l(2)在 HDFS 上创建/tmp/input,并上传几个文本文件到该目录下l(3)执行以下命令:bin/hadoop jar/hadoop-training-1.0-SNAPSHOT-jar-with-dependencies.jar com.example.training.mapreduce.WordCount/tmp/input/tmp/output2l因为 hadoop-training-1.0-SNAPSHOT-jar-with-dependencies.jar 里面有多个类,每个类里有一个 main,因此需要通过 com.example.training.mapreduce.WordCount 指定运行哪个类里的main 方法,如果只有一个类,里面只有一个 main 方法,可以将com.example.training.mapreduce.WordCount 省去。l操作视频l向Hadoop部署MapReduce程序.mp4l使用Shell命令编写MapReduce程序并运行.mp4普洱茶:深入理解 MapReduceID:1001客户:Ann商品项目:普洱茶8¥3.25¥26玄米茶4¥3¥12龙井茶8¥2.25¥18收货地址:支付详情:价格:¥26数量:8玄米茶:价格:¥12数量:4龙井茶:价格:¥18数量:8Map聚合(键,值)列表Map(映射)深入理解 MapReduce普洱茶:价格:¥106数量:34Reduce(键1,值1)列表(键2,值2)列表Reduce(化简)普洱茶:价格:¥26数量:8价格:¥36数量:12价格:¥44数量:14MapReduce 编程模型 WordCountl输入l一系列 key/value 对l用户提供两个函数实现:lmap(k,v)list(k1,v1)lreduce(k1,list(v1)list(k2,v2)l(k1,v1)是中间key/value结果对l输出l一系列(k2,v2)对MapReduce 编程模型 WordCountmap(key,value):/key:document name;value:text of documentfor each word w in value:emit(w,1)reduce(key,values):/key:a word;values:an iterator over counts result=0 for each count v in values:result+=v emit(key,result)MapReduce 分区与混排普洱茶26玄米茶12龙井茶18龙井茶16普洱茶36普洱茶26玄米茶12普洱茶36龙井茶18龙井茶16Map玄米茶18玄米茶10龙井茶38焙茶9普洱茶44玄米茶18玄米茶10普洱茶44龙井茶38焙茶9Map龙井茶18龙井茶16龙井茶38焙茶9普洱茶26玄米茶12普洱茶36玄米茶18玄米茶10普洱茶44ReduceReduce“分区”后,多个“化简函数”就可以并发化简(Reduce)不同关键字所对应的数据了将若干个关键字划分到同一个分区,以便并行化简。将若干个关键字划分到同一个分区,以便并行化简。混排(Shuffling)种类繁多的 MapReduce 应用InputOutputMapReduceInputOutputMapInputOutputStage1Stage2Stage3Stage4InputOutputStage1Stage2Stage3Stage4DAG 计算框架 TezlDAG 计算lDirected Acyclic Graph(依赖关系有向图)l多个作业之间存在数据依赖关系lApache Tezl基于 YARN 的 DAG 计算框架;l运行在 YARN 之上,充分利用 YARN 的资源管理和容错等功能;l提供了丰富的数据流(dataflow)API;l扩展性良好的“Input-Processor-Output”运行时模型;l动态生成物理数据流关系。DAG 计算框架 TezHDFSMap1Reduce1HDFSHDFSMap2Reduce2HDFSJob1Job2Word CountTop KHDFSMap1Reduce12Reduce2DAG JobHDFSWord Count+Top K使用 TezDAG 计算框架 TezJob1Job2Job3Job4使用 TezSPARK 概述MapReduce局限性lMapReduce框架局限性l仅支持 Map 和 Reduce 两种操作l迭代计算效率低(如机器学习、图计算等)l不适合交互式处理(数据挖掘)l不适合流式处理(点击日志分析)lMapReduce 编程不够灵活(尝试 scala 函数式编程语言)l现有的各种计算框架各自为战l批处理:MapReduce、Hive、Pigl流式计算:Storml交互式计算:Impalal是否有一种框架可同时进行批处理、流式、交互式计算?Spark 产生背景及特点l产生背景l在一个统一的框架下,进行批处理、流式计算、交互式计算lSpark 特点l高效l内存计算引擎l支持 DAG 图l比 MapReduce 快 10 100 倍l易用l提供了丰富的 API,支持 Java,Scala,Python 三种语言l代码量比 MapReduce 少 2 5 倍l与 Hadoop 集成l读写 HDFS/Hbasel与 YARN 集成Mahout 将全面拥抱 Spark 框架lMahout News25 April 2014-Goodbye MapReduceThe Mahout community decided to move its codebase onto modern data processing systems that offer a richer programming model and more efficient execution than Hadoop MapReduce.Mahout will therefore reject new MapReduce algorithm implementations from now on.We will however keep our widely used MapReduce algorithms in the codebase and maintain them.We are building our future implementations on top of a DSL for linear algebraic operations which has been developed over the last months.Programs written in this DSL are automatically optimized and executed in parallel on Apache Spark.Furthermore,there is an experimental contribution undergoing which aims to integrate the h20 platform into Mahout.

    注意事项

    本文(Hadoop大数据平台部署与应用.pptx)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开