转自: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-INFdrwxr-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(); }
分享到:
相关推荐
这个"hadop jar包.rar"文件很显然是包含了运行Hadoop相关程序所需的jar包集合,用户解压后可以直接使用,省去了自行编译和配置的步骤。 Hadoop的核心组件主要包括两个:HDFS(Hadoop Distributed File System)和...
<name>hadoop.tmp.dir <value>/app/hadoop/tmp ``` HDFS配置hdfs-site.xml则涉及NameNode和DataNode的相关参数,如副本数量和数据存储路径: ```xml <name>dfs.replication <value>3 <name>dfs....
Hadoop是Apache软件基金会开发的一个开源分布式计算框架,它允许在廉价硬件上处理大量数据,是大数据处理领域的重要工具。2.7.3是Hadoop的一个稳定版本,提供了可靠的分布式存储系统HDFS(Hadoop Distributed File ...
- **提交作业**:使用`hadoop jar`命令提交作业到YARN执行。 - **监控作业**:通过Web UI或命令行工具查看作业状态和日志。 6. **集群管理** - **集群扩展**:添加更多节点以扩大Hadoop集群规模。 - **监控和...
Hadoop是一个开源的分布式计算框架,由Apache基金会开发,它主要设计用于处理和存储大量数据。这个名为“hadoop-2.7.1.tar.gz.zip”的文件包含了Hadoop的2.7.1版本,这是一个非常重要的里程碑,因为它包含了对Hadoop...
`hadoop jar`命令,用于运行MapReduce程序。 7. **Hadoop安全性**:Hadoop 2.7.4支持Kerberos认证,可以实现集群的安全访问和数据保护,防止未授权的访问。 8. **Hadoop生态环境**:Hadoop并不只是单一的工具,它...
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"?> ...
MapReduce作业通过hadoop jar命令提交到集群,Hadoop会自动处理数据分布、任务调度和容错。 此外,Hadoop 2.5.2还引入了安全特性,如Kerberos认证,以增强集群的安全性。同时,这个版本优化了数据本地性和网络通信...
我的报错:Could not locate Hadoop executable: E:\big_data\hadoop-3.3.0\bin\winutils.ex hadoop的winutils.exe及hadoop.dll文件,可以用于hadoop3.3. 下载好直接将两个文件复制到我们hadoop的bin目录下就行了
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,适应操作系统为Linux。
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-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 版本的安装包(即二进制版,不是源码),文件格式为 tar.gz,解压后直接使用. Hadoop 是一个由 Apache 基金会所开发的分布式系统基础架构,用户可以在不了解分布式底层...
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资源包.txtdocker部署hadoop资源包.txtdocker部署hadoop资源包.txtdocker部署hadoop资源包.txtdocker部署hadoop资源包.txtdocker部署hadoop资源包.txtdocker部署hadoop资源包.txtdocker部署hadoop...
Hadoop是Apache软件基金会开发的一个开源分布式计算框架,主要针对大数据处理和分析。这个压缩包文件“hadoop-3.3.0.tar.gz”包含了Hadoop的3.3.0版本,这是一个重要的更新,提供了许多改进和新特性。在Linux环境中...
Hadoop是Apache软件基金会开发的一个开源分布式计算框架,它的核心设计是解决大数据处理的问题。Hadoop 2.6.5是Hadoop发展过程中的一个重要版本,它包含了对稳定性、性能和安全性的诸多改进。这个版本的发布主要是...
Hadoop 是一个处理、存储和分析海量的分布式、非结构化数据的开源框架。最初由 Yahoo 的工程师 Doug Cutting 和 Mike Cafarella Hadoop 是一个处理、存储和分析海量的分布式、非结构化数据的开源框架。最初由 Yahoo...