3 weekend110的job提交的逻辑及YARN框架的技术机制 + MR程序的几种提交运行模式

简介:

途径1: 

 

途径2:

 

 

途径3:

成功!

 

 


由此,可以好好比较下,途径1和途径2 和途径3 的区别。

 

 

 

现在,来玩玩weekend110的joba提交的逻辑之源码跟踪

原来如此,weekend110的job提交的逻辑源码,停在这了

 

 

 

 

 

 

 

hello world

hello tom

helllo jim

jim is a bad boy

hello jack

hello baby

baby is my nvshen

 

 

 

hello world

hello tom

helllo jim

jim is a bad boy

hello jack

hello baby

baby is my nvshen

 

不再一个一个放了。直接放完吧,map

 

 

 

 

 

a       1

baby    2

bad     1

boy     1

helllo  1

hello   4

is      2

jack    1

jim     2

my      1

nvshen  1

tom     1

world

 

 

以上是weekend110的job提交的逻辑之源代码跟踪

 

 

 

接下来是yarn框架的技术机制,

Resourcemanager和nodemanager进程一直在,

Yarnchild进程一会在,一会不在,

以上是weekend110的job提交的逻辑及YARN框架的技术机制

MR程序的几种提交运行模式

 

本地模型运行:

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

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

      ----输入输出数据也可以放在hdfs中(hdfs://weekend110:9000/wc/srcdata)

      

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

      ----输入输出数据可以放在本地路径下(/home/hadoop/wc/srcdata/)

      ----输入输出数据也可以放在hdfs中(hdfs://weekend110:9000/wc/srcdata) 

       

集群模式运行:

1/将工程打成jar包,上传到服务器,然后用hadoop命令提交  hadoop jar wc.jar cn.itcast.hadoop.mr.wordcount.WCRunner

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

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

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

 

3/在windows的eclipse中直接运行main方法,也可以提交给集群中运行,但是因为平台不兼容,需要做很多的设置修改

                   ----要在windows中存放一份hadoop的安装包(解压好的)

                   ----要将其中的lib和bin目录替换成根据你的windows版本重新编译出的文件

                   ----再要配置系统环境变量 HADOOP_HOME  和 PATH

                   ----修改YarnRunner这个类的源码

                        

 

玄机是在Runjar,

Runjar客户端,它持有的是跟rm通信的那个客户端,它就会往那走

Runjar客户端,它持有的是跟本地模式通信的那个客户端,它就会提交到本地去了

那么,它在什么情况之下,持有rm客户端,什么情况下,持有本地客户端呢?

看源码最清楚

配置对象,没配任何信息,默认就会创建一个跟本地模式通信的Runjar,

 

MR程序的几种提交运行模式

演示:

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

      ----输入输出数据可以放在本地路径下(/home/hadoop/wc/srcdata/)

      ----输入输出数据也可以放在hdfs中(hdfs://weekend110:9000/wc/srcdata)  

 

 

在这里,依然还是没解决,windows是用的是jpk,这里用的是utf-8,告诫我们,平常要习惯用utf-8

 

 

1 Common的jar包和 2 hdfs的jar包,已经加过了,

还需,3 mapreduce的jar包 4 mapreduce下lib下的jar 和5 yarn的jar包和6 yarn下lib的jar包。

 

 

hadoop没启,这只是在linux里的jvm运行。

 

 

这说明,跑的mr的确是在本地,

 

 

 

 

情况四:

 

 

 

 

 

     

  总结,eclipse开发,若在windows下,需要插件,一般牛人会ant编译出一个插件,挂到csdn上,卖积分。也许,这位牛人弄出来的插件在他电脑上是可以,但到别人电脑上又不可以了。所以,一般能在linux里的eclipse下开发最好不过了。这样可避免插件浪费很多时间。

 


本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/5895657.html,如需转载请自行联系原作者

相关文章
|
4月前
|
弹性计算 资源调度 Kubernetes
Flink三种集群模式,Standalone模式,Flink On YARN,Flink On K8S,这三种模式有啥优缺点,生产环境如何选择呢?
Flink三种集群模式,Standalone模式,Flink On YARN,Flink On K8S,这三种模式有啥优缺点,生产环境如何选择呢?
236 3
|
8月前
|
分布式计算 资源调度 Hadoop
Flink安装部署{单机模式、会话模式(集群部署)、yarn模式(包含hadoop3.1.3部署)}
Flink安装部署{单机模式、会话模式(集群部署)、yarn模式(包含hadoop3.1.3部署)}
298 0
|
5月前
|
资源调度 JavaScript Windows
yarn install命令运行报错:无法将“yarn”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。...
yarn install命令运行报错:无法将“yarn”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。...
352 1
yarn install命令运行报错:无法将“yarn”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。...
|
5月前
|
缓存 资源调度 JavaScript
从零到一nvm、npm、cnpm、yarn、vue全套安装和环境配置以及创建新项目和如何运行人家的项目大全,最详细,保姆级
从零到一nvm、npm、cnpm、yarn、vue全套安装和环境配置以及创建新项目和如何运行人家的项目大全,最详细,保姆级
218 0
|
2月前
|
资源调度 Kubernetes Java
Flink--day02、Flink部署(Yarn集群搭建下的会话模式部署、单作业模式部署、应用模式部署)
Flink--day022、Flink部署(Yarn集群搭建下的会话模式部署、单作业模式部署、应用模式部署)
136 5
|
2月前
|
分布式计算 资源调度 监控
Spark学习--1、Spark入门(Spark概述、Spark部署、Local模式、Standalone模式、Yarn模式)(一)
Spark学习--1、Spark入门(Spark概述、Spark部署、Local模式、Standalone模式、Yarn模式)(一)
95 1
|
6月前
|
资源调度 Kubernetes Java
Flink--2、Flink部署(Yarn集群搭建下的会话模式部署、单作业模式部署、应用模式部署)
Flink--2、Flink部署(Yarn集群搭建下的会话模式部署、单作业模式部署、应用模式部署)
|
3月前
|
资源调度 监控 API
在Flink中,通过YARN模式进行峰谷动态并行度扩容缩容可以使用 Flink 自带的动态调优功能
在Flink中,通过YARN模式进行峰谷动态并行度扩容缩容可以使用 Flink 自带的动态调优功能【1月更文挑战第6天】【1月更文挑战第26篇】
146 1
|
4月前
|
资源调度 分布式计算 Hadoop
Hadoop学习笔记(HDP)-Part.14 安装YARN+MR
01 关于HDP 02 核心组件原理 03 资源规划 04 基础环境配置 05 Yum源配置 06 安装OracleJDK 07 安装MySQL 08 部署Ambari集群 09 安装OpenLDAP 10 创建集群 11 安装Kerberos 12 安装HDFS 13 安装Ranger 14 安装YARN+MR 15 安装HIVE 16 安装HBase 17 安装Spark2 18 安装Flink 19 安装Kafka 20 安装Flume
99 0
Hadoop学习笔记(HDP)-Part.14 安装YARN+MR
|
5月前
|
存储 分布式计算 资源调度
提交MapReduce程序至YARN执行
提交MapReduce程序至YARN执行
41 0

相关实验场景

更多