`
cloudeagle
  • 浏览: 111626 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

hadoop jar xxxx.jar的流程

 
阅读更多


转自:http://hi.baidu.com/dt_zhangwei/item/a58239fb46f3f110d7ff8cbf

搞清楚 hadoop jar xxxx.jar 执行的流程: jar文件是如何分发的


JobClient(不一定是hadoop集群的节点)利用bin/hadoop脚本运行jar包,以hadoop-0.20.2-examples.jar为例子:
hadoop jar hadoop-0.20.2-examples.jar [class name]的实质是:
1.利用hadoop这个脚本启动一个jvm进程;
2.jvm进程去运行org.apache.hadoop.util.RunJar这个java类;
3.org.apache.hadoop.util.RunJar解压hadoop-0.20.2-examples.jar到hadoop.tmp.dir/hadoop-unjar*/目录下;
4.org.apache.hadoop.util.RunJar动态的加载并运行Main-Class或指定的Class;
5.Main-Class或指定的Class中设定Job的各项属性
6.提交job到JobTracker上并监视运行情况。

注意:以上都是在jobClient上执行的。

运行jar文件的时候,jar会被解压到hadoop.tmp.dir/hadoop-unjar*/目录下(如:/home/hadoop/hadoop-fs/dfs/temp/hadoop- unjar693919842639653083,注意:这个目录是JobClient的目录,不是JobTracker的目录)。解压后的文件为:
drwxr-xr-x 2 hadoop hadoop 4096 Jul 30 15:40 META-INF
drwxr-xr-x 3 hadoop hadoop 4096 Jul 30 15:40 org
有图有真相:


提交job的实质是:
生成${job-id}/job.xml文件到hdfs://${mapred.system.dir}/(比如hdfs://bcn152:9990/home/hadoop/hadoop-fs/dfs/temp/mapred/system/job_201007301137_0012/job.xml),job的描述包括jar文件的路径map|reduce类路径等等.
上传${job-id}/job.jar文件到hdfs://${mapred.system.dir}/(比如hdfs://bcn152:9990/home/hadoop/hadoop-fs/dfs/temp/mapred/system/job_201007301137_0012/job.jar)
有图有真相:


生成job之后,通过static JobClient.runJob()就会向jobTracker提交job:
JobClient jc = new JobClient(job);
RunningJob rj = jc.submitJob(job);
之后JobTracker就会调度此job,

提交job之后,使用下面的代码获取job的进度:
try {
if (!jc.monitorAndPrintJob(job, rj)) {
throw new IOException("Job failed!");
}
} catch (InterruptedException ie) {
Thread.currentThread().interrupt();
}
分享到:
评论

相关推荐

    hadoop jar包.rar

    这个"hadop jar包.rar"文件很显然是包含了运行Hadoop相关程序所需的jar包集合,用户解压后可以直接使用,省去了自行编译和配置的步骤。 Hadoop的核心组件主要包括两个:HDFS(Hadoop Distributed File System)和...

    hadoop-3.1.3.tar.gz

    <name>hadoop.tmp.dir <value>/app/hadoop/tmp ``` HDFS配置hdfs-site.xml则涉及NameNode和DataNode的相关参数,如副本数量和数据存储路径: ```xml <name>dfs.replication <value>3 <name>dfs....

    hadoop-2.7.3.tar.gz 下载 hadoop tar 包下载

    Hadoop是Apache软件基金会开发的一个开源分布式计算框架,它允许在廉价硬件上处理大量数据,是大数据处理领域的重要工具。2.7.3是Hadoop的一个稳定版本,提供了可靠的分布式存储系统HDFS(Hadoop Distributed File ...

    hadoop-3.3.1.tar.gz

    - **提交作业**:使用`hadoop jar`命令提交作业到YARN执行。 - **监控作业**:通过Web UI或命令行工具查看作业状态和日志。 6. **集群管理** - **集群扩展**:添加更多节点以扩大Hadoop集群规模。 - **监控和...

    hadoop-2.7.1.tar.gz.zip

    Hadoop是一个开源的分布式计算框架,由Apache基金会开发,它主要设计用于处理和存储大量数据。这个名为“hadoop-2.7.1.tar.gz.zip”的文件包含了Hadoop的2.7.1版本,这是一个非常重要的里程碑,因为它包含了对Hadoop...

    hadoop-2.7.4.tar.gz

    `hadoop jar`命令,用于运行MapReduce程序。 7. **Hadoop安全性**:Hadoop 2.7.4支持Kerberos认证,可以实现集群的安全访问和数据保护,防止未授权的访问。 8. **Hadoop生态环境**:Hadoop并不只是单一的工具,它...

    hadoop-lzo-0.4.20.jar

    hadoop支持LZO压缩配置 将编译好后的hadoop-lzo-0.4.20.jar 放入hadoop-2.7.2/share/hadoop/common/ core-site.xml增加配置支持LZO压缩 <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> ...

    hadoop-2.5.2.tar.gz

    MapReduce作业通过hadoop jar命令提交到集群,Hadoop会自动处理数据分布、任务调度和容错。 此外,Hadoop 2.5.2还引入了安全特性,如Kerberos认证,以增强集群的安全性。同时,这个版本优化了数据本地性和网络通信...

    hadoop的winutils.exe及hadoop.dll文件

    我的报错:Could not locate Hadoop executable: E:\big_data\hadoop-3.3.0\bin\winutils.ex hadoop的winutils.exe及hadoop.dll文件,可以用于hadoop3.3. 下载好直接将两个文件复制到我们hadoop的bin目录下就行了

    hadoop-3.2.2.tar.gz

    8. **启动与使用**:启动Hadoop服务,如`start-dfs.sh`和`start-yarn.sh`,然后可以使用Hadoop的命令行工具(如hadoop fs、hadoop jar等)或Hadoop API进行数据处理。 9. **优化与监控**:根据实际需求和资源状况对...

    hadoop-2.6.0.tar.gz.mds

    hadoop-2.6.0.tar.gz.mds,hadoop的安装包,版本为2.6.0,适应操作系统为Linux。

    hadoop的hadoop.dll和winutils.exe

    hadoop hadoop的hadoop.dll和winutils.exe 解决方法, 把winutils.exe加入你的hadoop-x.x.x/bin下 Could not locate executable null\bin\winutils.exe in the Hadoop binaries

    elasticsearch 与hadoop 相关的jar

    包含 elasticsearch-hadoop-6.6.1.jar elasticsearch-hadoop-hive-6.6.1.jar elasticsearch-spark-20_2.11-6.6.1.jar elasticsearch-storm-6.6.1.jar 等

    hadoop-3.3.6.tar.gz - hadoop 3.3.6 安装包

    文件名: hadoop-3.3.6.tar.gz 这是 Hadoop 3.3.6 版本的安装包(即二进制版,不是源码),文件格式为 tar.gz,解压后直接使用. Hadoop 是一个由 Apache 基金会所开发的分布式系统基础架构,用户可以在不了解分布式底层...

    hadoop-3.1.1.3.1.4.0-315.tar.gz

    ambari-2.7.5 编译过程中四个大包下载很慢,所以需要提前下载,包含:hbase-2.0.2.3.1.4.0-315-bin.tar.gz ,hadoop-3.1.1.3.1.4.0-315.tar.gz , grafana-6.4.2.linux-amd64.tar.gz ,phoenix-5.0.0.3.1.4.0-315....

    docker部署hadoop资源包.txt

    docker部署hadoop资源包.txtdocker部署hadoop资源包.txtdocker部署hadoop资源包.txtdocker部署hadoop资源包.txtdocker部署hadoop资源包.txtdocker部署hadoop资源包.txtdocker部署hadoop资源包.txtdocker部署hadoop...

    hadoop-3.3.0.tar.gz

    Hadoop是Apache软件基金会开发的一个开源分布式计算框架,主要针对大数据处理和分析。这个压缩包文件“hadoop-3.3.0.tar.gz”包含了Hadoop的3.3.0版本,这是一个重要的更新,提供了许多改进和新特性。在Linux环境中...

    hadoop-2.6.5.tar.gz

    Hadoop是Apache软件基金会开发的一个开源分布式计算框架,它的核心设计是解决大数据处理的问题。Hadoop 2.6.5是Hadoop发展过程中的一个重要版本,它包含了对稳定性、性能和安全性的诸多改进。这个版本的发布主要是...

    Hadoop下载 hadoop-2.9.2.tar.gz

    Hadoop 是一个处理、存储和分析海量的分布式、非结构化数据的开源框架。最初由 Yahoo 的工程师 Doug Cutting 和 Mike Cafarella Hadoop 是一个处理、存储和分析海量的分布式、非结构化数据的开源框架。最初由 Yahoo...

Global site tag (gtag.js) - Google Analytics