1.map:局部处理;reduce:汇总

mapper对数据做切分,一份程序在不同的DataNode上独立运行对数据进行处理,reduce程序将所有DataNode上的统计数据进行汇总

Mapper<KEYIN,VALUEIN,KEYOUT,VALUEOUT>,以key-value的形式对数据进行输入输出

前两个指定mapper输入数据的类型

后两个指定mapper输入数据的类型

map():MapReduce框架每读一行数据就调用一次该方法

reducer对数据做汇总

reduce():框架在map处理完成之后,将所有kv对缓存起来,进行分组,然后传递一个组<key, value{}>,调用一次reduce方法

2.

对所要用到的MapReduce类进行描述,即指定特定的类进行处理

还需要指定该作业要处理的数据所在的路径以及该作业输出的结果放到哪个路径

指定reduce的输出数据kv类型

job.setOutputKeyClass(Text.class)

job.setOutputValueClass(LongWritable.class)

指定mapper的输出数据kv类型

job.setMapOutputKeyClass(Text.class)

job.setMapOutputValue(LongWritable.class)

指定原始输入数据存放位置

FileInputFormat.setInputPaths(job,new Path(dirname));//读取目录下所有的文件进行处理

指定计算结果的输出位置

FileOutputFormat.setOutputPath(job,newPath(dirname));

指定整个job所用的那些类在哪个jar包

job.setJarByClass(WCRunner.class)

将job提交至集群运行

job.waitForCompletion(true);

3.YARN框架——主要进行资源调度(不懂mapreduce相关逻辑,只负责资源的调度和分配)

1)Run jar ------>向resource manager申请执行一个job

2)然后返回job相关资源提交的路径staging-dir(HDFS中的/tmp/xx/xx/yarn-staging/jobID/)和为本job产生的jobID给Runjar

3)然后提交资源到hdfs中

4)汇报提交结果(提交完成)

5)resource manager将本job加入任务队列(并分配相关的node manager 运行job)

6)node manager领取任务(通过心跳机制和resource manager进行通信,从任务队列中领取任务)

7)node manager中为各个job分配运行资源和容器(container)

-------------------------------------------------------------------------------------------------分配资源完毕

8)resource manager 启动MRAppMaster(动态随机产生)类进行MapReduce程序的分配和调度(和yarn框架没有关系),yarn框架的工作到此结束

9)MRAppMaster向Resource Manager注册资源

10)MRAppMaster在资源容器中启动map任务进程(yarnChild子进程)

11)MRAppMaster启动reduce task(yarnChild子进程)

12)job完成后,MRAppMaster向resource manager注销自己

Yarn具有较强的通用性,只负责资源的分发,与具体的计算模型没有较强的依赖性,可以跑各种不同的运行模型框架(Storm,Spark),只需启动不同计算模型的AppMaster类便可实现不同的计算模型框架

Runjar通过RPC进行通信

4.mapreduce框架通过MRAppMaster来控制mapreduce程序的执行,由yarn框架执行

      resource manager

node manager1     node manager2       node manager3

5.mr程序的几种提交运行模式

本地模式

1)在windows的eclipse里面直接运行main方法,就会将job提交给本地执行器localobrunner执行

  --输入输出数据放在本地路径下(c:/wc/srcdata)

  --输入输出数据放在hdfs中(hdfs://localhost)

2)在linux的eclipse里面直接运行main方法,但是不要添加yarn相关配置,也会提交给local执行

集群模式

1)将工程打成jar包,用hadoop jar命令提交运行

2)在linux的eclipse中直接运行main方法,也可以提交到集群中去运行,但是,必须采取一下措施

在工程的src目录下,加入mapred-site.xml和yarn-site.xml

将工程打成jar包,同时在main方法中添加一个conf的配置 参数  conf.set("","")

3)在windows下的eclipse运行

转载于:https://www.cnblogs.com/lvjygogo/p/8641525.html

hadoop day 3相关推荐

  1. hadoop 添加删除机器以及设置免密登录

    添加hadoop机器 先在slaves中添加机器 然后启动datanode $: ./usr/hadoop-0.20.2-cdh3u4/bin/hadoop-daemon.sh start datan ...

  2. linux环境下快速配置hadoop集群免密登录

    背景 在hadoop的日常使用过程中经常需要登录某些机器,如何更好的免密登录呢?这将为我们节省大量的时间 操作 假设你需要在A机器上免密登录B机器,那么你首先要确定B机器下是有秘钥文件的.如何确定是否 ...

  3. hadoop问题小结

    20220322 https://blog.csdn.net/lt5227/article/details/119459827 hadoop控制台设置密码 访问验证 20220314 进入hive 高 ...

  4. hadoop,spark,scala,flink 大数据分布式系统汇总

    20220314 https://shimo.im/docs/YcPW8YY3T6dT86dV/read 尚硅谷大数据文档资料 iceberg相当于对hive的读写,starrocks相当于对mysq ...

  5. spark,hadoop区别

    https://zhuanlan.zhihu.com/p/95016937 Spark和Hadoop的区别和比较: 1.原理比较: Hadoop和Spark都是并行计算,两者都是用MR模型进行计算 H ...

  6. 2021年大数据Hadoop(三十):Hadoop3.x的介绍

    全网最详细的Hadoop文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 本系列历史文章 前言 Hadoop3.x的介绍 介绍 Hadoop 3.0新特性 ...

  7. 2021年大数据Hadoop(二十九):​​​​​​​关于YARN常用参数设置

    全网最详细的Hadoop文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 本系列历史文章 前言 关于yarn常用参数设置 设置container分配最小内 ...

  8. 2021年大数据Hadoop(二十七):YARN运行流程

    全网最详细的Hadoop文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 本系列历史文章 前言 Yarn运行流程 本系列历史文章 2021年大数据Hado ...

  9. 2021年大数据Hadoop(二十六):YARN三大组件介绍

    全网最详细的Hadoop文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 本系列历史文章 前言 Yarn三大组件介绍 ResourceManager No ...

  10. 2021年大数据Hadoop(二十五):YARN通俗介绍和基本架构

    全网最详细的Hadoop文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 本系列历史文章 前言 YARN通俗介绍和基本架构 Yarn通俗介绍 Yarn基本 ...

最新文章

  1. java核心技术读书笔记1
  2. 从Zygote孵化frameworks进程,分析StartActivity流程中intent传递数据的最大值。
  3. python天天向上续2_2019/2/12 Python今日收获
  4. 移植PPP2.4.5到ARM上实现拨号
  5. ArcGIS动态表格扩展模块Mapping and Charting Solutions使用教程及下载地址
  6. 微型计算机数码管显示实验,微机原理实验八段数码管显示.doc
  7. zookeeper客户端 curator的使用
  8. vSphere Client连接主机提示远程服务器响应时间过长
  9. [附源码]计算机毕业设计JAVA学习资源共享与在线学习系统
  10. Windows无法访问\\xxx.xxx.xxx.xxx,提示网络错误,请检查名称的拼写
  11. Hive 10、Hive的UDF、UDAF、UDTF
  12. CIC灼识咨询发布《中国云通讯行业蓝皮书》:容联云2021年上半年云CC市场增速第一
  13. python 爬取豆瓣某一主题书单_Python爬虫 || 使用requests和xpath爬取豆瓣Top250书单内容全解。...
  14. 查询本机ip地址快捷键
  15. 3dMax 基础概念和基本操作
  16. 如何才能成功创业呢?
  17. OpenSceneGraph-3.6.4-VC2015-x86 编译发布
  18. 女博士等于嫁不出去的怪物?
  19. PostGIS的安装与建库(Windows)
  20. vue 页面高度自适应 超出部分滚动条

热门文章

  1. 百度吴甜宣布百度AI加速器第二期开营,要让创业者跑得更快
  2. 如果要存ip地址,用什么数据类型比较好?
  3. 耗时3天,上亿数据如何做到秒级查询?
  4. 用YOLOv5模型识别出表情!
  5. 提分策略:数据采样方法最全总结!
  6. 【多权威学术机构协办】【EI、Scopus检索往届会议】先进算法控制工程方向征稿...
  7. PyTorch 1.9发布,支持新API,可在边缘设备中执行
  8. Transformer在CV领域有可能替代CNN吗?还有哪些应用前景?
  9. 腾讯35亿美元抄底收购搜狗,产品张小龙和技术王小川双剑合璧
  10. IRNet:弱监督实例分割 | 步步为营,隔山打牛