排行榜 -

您的位置:山东十一选五直播 > ppt下载 > PPT课件 > 课件PPT > hadoop介绍ppt

山东体彩十一选五:hadoop介绍ppt下载

素材大?。?/dt>
1.08 MB
素材授权:
免费下载
素材格式:
.ppt
素材上传:
lipeier
上传时间:
2018-07-12 16:54:24
素材编号:
201732
素材类别:
课件PPT
网友评分:

山东十一选五直播 www.iwh31.cn 素材预览

hadoop介绍ppt

这是hadoop介绍ppt,包括了Hadoop生态概述,HDFS,HDFS设计目标,HDFS系统特点,HDFS读文件流程,HDFS写文件流程,HDFS Shell命令集,HDFS JAVA API,MapReduce工作原理,MapReduce 2.0任务调度,提交一个job的处理过程,Map函数,Reduce函数,main函数等内容,欢迎点击下载。

hadoop介绍ppt是由红软PPT免费下载网推荐的一款课件PPT类型的PowerPoint.

Hadoop初识
Hadoop生态概述
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
具有可靠、高效、可伸缩的特点。
Hadoop的核心是YARN,HDFS和Mapreduce
下图是hadoop生态系统,集成spark生态圈。在未来一段时间内,hadoop将于spark共存,hadoop与spark都能部署在yarn、mesos的资源管理系统之上
HDFS
HDFS 是一个分布式文件系统,提供高吞吐量的应用程序数据访问,对外部客户机而言,HDFS 就像一个传统的分级文件系统??梢源唇?、删除、移动或重命名文件,等等。但是 HDFS 的架构是基于一组特定的节点构建的,这是由它自身的特点决定的。这些节点包括 NameNode(仅一个),它在 HDFS 内部提供元数据服务;DataNode,它为 HDFS 提供存储块。由于仅存在一个 NameNode,因此这是 HDFS 的一个缺点(单点失败)。
HDFS 设计目标
HDFS 设计目标
3 、简化一致性模型
大部分的HDFS程序对文件模型的操作需要一次写入,多次读取。一个文件一旦经过创建,写入,关闭就不需要修改了。这个假设简化了数据一致性问题和高吞吐量的数据访问问题。
4 、通信协议
所有的通信协议都是在TCP/IP协议之上的。一个客户端和明确配置了端口的名字节点(NameNode)建立连接之后,它和名字节点的协议便是客户端协议(Client Protocal)。数据节点(DataNode)和名字之间则用数据节点协议(DataNode Protocal)。
HDFS 系统特点
优点:
1、处理超大文件
这里的超大文件通常是指百MB、甚至数百TB大小的文件。目前在实际应用中,HDFS已经能用来存储管理PB级的数据了。
2、流式的访问数据
HDFS的设计建立在“一次写入、多次读写”任务的基础上。这意味着一个数据集一旦由数据源生成,就会被复制分发到不同的存储节点中,然后响应各种各样的数据分析任务请求。在多数情况下,分析任务都会涉及数据集中的大部分数据,也就是说,对HDFS来说,请求读取整个数据集要比读取一条记录更加高效。
3、运行于廉价的商用机器集群上
Hadoop设计对应急需求比较低,只须运行在低廉的商用硬件集群上,而无需在昂贵的高可用性机器上。廉价的商用机也就意味着大型集群中出现节点故障情况的概率非常高。HDFS遇到了上述故障时,被设计成能够继续运行且不让用户察觉到明显的中断。
HDFS 系统特点
缺点:
1、不适合低延迟数据访问
如果要处理一些用户要求时间比较短的低延迟应用请求,则HDFS不适合。HDFS是为了处理大型数据集分析任务的,主要是为达到高的数据吞吐量而设计的,这就可能要求以高延迟作为代价。
 改进策略:对于那些有低延时要求的应用程序,HBase是一个更好的选择,通过上层数据管理项目尽可能地弥补这个不足。在性能上有了很大的提升,它的口号是goes real time。使用缓存或多个master设计可以降低Clinet的数据请求压力,以减少延时。
2、不支持多用户写入及任意修改文件
在HDFS的一个文件中只有一个写入者,而且写操作只能在文件末尾完成,即只能执行追加操作,目前HDFS还不支持多个用户对同一文件的写操作,以及在文件任意位置进行修改。
HDFS 系统特点
缺点:
3、无法高效存储大量的小文件
因为NameNode把文件系统的元数据放置在内存中,所有文件系统所能容纳的文件数目是由NameNode的内存大小来决定?;褂幸桓鑫侍饩褪?,因为MapTask的数量是由Splits来决定的,所以用MR处理大量的小文件时,就会产生过多的MapTask,线程管理开销将会增加作业时间。当Hadoop处理很多小文件(文件大小小于HDFS中Block大小)的时候,由于FileInputFormat不会对小文件进行划分,所以每一个小文件都会被当做一个Split并分配一个Map任务,导致效率底下。
改进策略:要想让HDFS能处理好小文件,有不少方法。利用SequenceFile、MapFile、Har等方式归档小文件,这个方法的原理就是把小文件归档起来管理,HBase就是基于此的。
HDFS基本架构图
HDFS读文件流程
HDFS写文件流程
选项名称  使用格式     含义
-ls  -ls <路径>     查看指定路径的当前目录结构
-lsr  -lsr <路径>    递归查看指定路径的目录结构
-du  -du <路径>    统计目录下各文件大小
-dus  -dus <路径>    汇总统计目录下文件(夹)大小
-count  -count [-q] <路径>    统计文件(夹)数量
-mv  -mv <源路径> <目的路径>   移动
-cp  -cp <源路径> <目的路径>   复制
-rm  -rm [-skipTrash 慎用] <路径>   删除文件/空白文件夹
-rmr  -rmr [-skipTrash] <路径>   递归删除
-put  -put <多个linux上的文件> <hdfs路径>  上传文件
-copyFromLocal -copyFromLocal <多个linux上的文件> <hdfs路径> 从本地复制
-moveFromLocal -moveFromLocal <多个linux上的文件> <hdfs路径> 从本地移动
选项名称  使用格式      含义
-getmerge                -getmerge <源路径> <linux路径>                  合并到本地
-cat  -cat <hdfs路径>     查看文件内容
-text  -text <hdfs路径>     查看文件内容
-copyToLocal -copyToLocal [-ignoreCrc] [-crc] [hdfs源路径] [linux目的路径]  复制到本地
-moveToLocal -moveToLocal [-crc] <hdfs源路径> <linux目的路径> 移动到本地
-mkdir  -mkdir <hdfs路径>     创建空白文件夹
-setrep  -setrep [-R] [-w] <副本数> <路径>   修改副本数量
-touchz  -touchz <文件路径>     创建空白文件
-stat  -stat [format] <路径>    显示文件统计信息
-tail  -tail [-f] <文件>     查看文件尾部信息
-chmod  -chmod [-R] <权限模式> [路径]   修改权限
-chown  -chown [-R] [属主][:[属组]] 路径   修改属主
-chgrp  -chgrp [-R] 属组名称 路径    修改属组
-help  -help [命令选项]     帮助
//获取文件系统
Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://master:9000");
FileSystem fileSystem = FileSystem.get(conf);
//创建文件夹
if (!fileSystem.exists(new Path("/test"))) {
        fileSystem.mkdirs(new Path("/test"));
}
//上传本地文件到HDFS
fileSystem.copyFromLocalFile(src, dst);
fileSystem.copyFromLocalFile(delSrc, src, dst);
fileSystem.copyFromLocalFile(delSrc, overwrite, src, dst);
fileSystem.copyFromLocalFile(delSrc, overwrite, srcs, dst);
//重命名HDFS文件
fileSystem.rename(src, dst);
//删除文件, True 表示递归删除
fileSystem.delete(new Path("/d1"), true);
//查找某个文件在HDFS集群的位置
FileStatus fs = fileSystem.getFileStatus(new Path("/data"));
      BlockLocation[] bls=fileSystem.getFileBlockLocations(fs, 0, fs.getLen());
      for (int i = 0,h=bls.length; i < h; i++) {
        String[] hosts= bls[i].getHosts();
        System.out.println("block_"+i+"_location:  "+hosts[0]);
}
//获取HDFS集群上所有节点名称信息
DistributedFileSystem hdfs = (DistributedFileSystem) fileSystem;
      DatanodeInfo[] dns=hdfs.getDataNodeStats();
      for (int i = 0,h=dns.length; i < h; i++) {
        System.out.println("datanode_"+i+"_name:  "+dns[i].getHostName());
}
//查看目录及文件信息
FileStatus[] fs = fileSystem.listStatus(new Path("/"));
      for (FileStatus f : fs) {
        String dir = f.isDirectory() ? "目录":"文件";
        String name = f.getPath().getName();
        String path = f.getPath().toString();
        System.out.println(dir+"----"+name+"  path:"+path);
        System.out.println(f.getAccessTime());
        System.out.println(f.getBlockSize());
        System.out.println(f.getGroup());
        System.out.println(f.getLen());
        System.out.println(f.getModificationTime());
        System.out.println(f.getOwner());
        System.out.println(f.getPermission());
        System.out.println(f.getReplication());
        System.out.println(f.getSymlink());
      }
MapReduce
MapReduce 是一个高性能的批处理分布式计算框架,用于对海量数据进行并行分析和处理。与传统数据仓库和分析技术相比,MapReduce 适合处理各种类型的数据,包括结构化、半结构化和非结构化数据。数据量在 TB 和 PB 级别,在这个量级上,传统方法通常已经无法处理数据。MapReduce 将分析任务分为大量的并行 Map 任务和 Reduce 汇总任务两类。Map 任务运行在多个服务器上。目前部署的最大集群有 4000 个服务器。
MapReduce 工作原理
1、client submit一个job到RM,进入RM中的Scheduler队列供调度
2、RM根据NM汇报的资源情况(NM会定时汇报资源和container使用情况),请求一个合适的NM launch container,以启动运行AM
3、AM启动后,注册到RM上,以使client可以查到AM的信息,便于client直接和AM通信
4、AM启动后,根据Job 相关的split的task情况,会和RM协商申请container资源
5、RM分配给AM container资源后,根据container的信息,向对应的NM 请求launch container
6、NM启动container运行task,运行过程中向AM汇报进度状态信息;同时NM也会定时的向RM汇报container的使用情况。
7、在application(job)执行过程中,client可以和AM通信,获取application相关的进度和状态信息。
8、在application(job)完成后,AM通知RM clear自己的相关信息,并关闭,释放自己占用的container。
实例讲解
最简单的MapReduce应用程序至少包含 3 个部分:一个 Map 函数、一个 Reduce 函数和一个 main 函数。在运行一个mapreduce计算任务时候,任务过程被分为两个阶段:map阶段和reduce阶段,每个阶段都是用键值对(key/value)作为输入(input)和输出(output)。main 函数将作业控制和文件输入/输出结合起来。
// Context:收集Mapper输出的<k,v>对。
// Context的write(k, v)方法:增加一个(k,v)对到context
// Map函数使用StringTokenizer函数对字符串进行分隔,通过write方法把单词存入word中
// write方法存入(单词,1)这样的二元组到context中
public  class TestMapper extends Mapper<Object, Text, Text, IntWritable>{
     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);
      } } }
//reduce方法中k/v来自于map函数中的context,同样通过context输出     
public class TestReducer extends Reducer<Text,IntWritable,Text,IntWritable> {
    private IntWritable result =new IntWritable();
    public void reduce(Text key, Iterable<IntWritable> values,   Context context)
                         throws IOException, InterruptedException {
      int sum =0;
      for (IntWritable val : values) {
        sum += val.get();
      }
      result.set(sum);
      context.write(key, result);
    } }
public static void main(String[] args) throws Exception {
    Configuration conf =new Configuration();
    if (args.length != 2) {
               System.err.println("Usage: wordcount <in> <out>");
               System.exit(2);}
    Job job =new Job(conf, "word count");    //设置一个用户定义的job名称
    job.setJarByClass(TestMR.class);
    job.setMapperClass(TestMapper.class);    //为job设置Mapper类
    job.setReducerClass(TestReducer.class);    //为job设置Reducer类
    job.setOutputKeyClass(Text.class);        //为job的输出数据设置Key类
    job.setOutputValueClass(IntWritable.class);    //为job输出设置value类
    FileInputFormat.addInputPath(job, new Path(args[0]));    //为job设置输入路径
    FileOutputFormat.setOutputPath(job, new Path(args[1]));//为job设置输出路径
    System.exit(job.waitForCompletion(true) ?0 : 1);        //运行job                                                       
}
 

下载地址

推荐PPT

PPT分类Classification

Copyright:2009-2015 www.iwh31.cn Corporation,All Rights Reserved 红软PPT免费下载网版权所有

粤ICP备14102101号

  • 5月国民经济主要数据公布 下半年走势如何 2018-12-15
  • 传奇“斗士”谢幕:只可远观李敖,不然会被他亵玩 2018-12-14
  • 正常的家庭,都是有计划的。好吃懒做,吃了这餐,不知下餐在哪里的,才不知怎样计划! 2018-12-13
  • 喂,110吗?这里有个出警的小姐姐,我要曝光一下! 2018-12-12
  • 全国百家网络媒体全媒体记者彭水采风活动 2018-12-12
  • 枪杀中国女留学生江玥嫌犯已认罪 或获刑7至8年 2018-12-11
  • E3 2018:微软用机器学习技术缩短下载游戏时间 2018-12-11
  • 回复@看着就想笑:难道公有制社会主义就不能生存发展吗?事实上公有制会生存发展的更好! 2018-12-10
  • 重点都在这!习近平山东考察说的这些话不容错过 2018-12-10
  • 国家社科基金专刊第154期(2018.06.05) 2018-12-09
  • 要战胜对手必须了介他学习对手长处改掉自己短处,所以我们要学习美國长处为我所用.曰本在唐朝派遣唐史向中國学习,近代学西方进行明治维新迅速强大成为东方最强國家即证据 2018-12-08
  • 如何缓解眼睛疲劳 吃什么水果让眼睛明亮-美食资讯 2018-12-08
  • 扎心了!格子、波巴球童遇尴尬身高差 2018-12-07
  • 空军组织航空兵双向绕飞台岛巡航 2018-12-06
  • 新时代是奋斗者的时代 2018-12-05
  • 696| 876| 439| 952| 589| 269| 320| 853| 739| 204|