JobClient提交作业前向JobTracker申请一个新的JobId, job_201107131247_575464
JobTracker:
// Allocates a new JobId string.
public synchronized JobID getNewJobId() throws IOException {
return new JobID(getTrackerIdentifier(), nextJobId++);
}
private int nextJobId = 1; // nextJobId 是JobTracker的一个内部变量,初始时为1,每new一个JobID加1.
// Get the unique identifier (ie. timestamp) of this job tracker start.
public String getTrackerIdentifier() { //jobtracker启动时创建的一个唯一标识,用启动时的timestamp.
return trackerIdentifier;
}
private String trackerIdentifier; // trackerIdentifier 是JobTracker的一个内部变量,赋值是在构造函数中:
JobTracker(JobConf conf) {
trackerIdentifier = getDateFormat().format(new Date());
}
private static SimpleDateFormat getDateFormat() {
return new SimpleDateFormat("yyyyMMddHHmm");
}
org.apache.hadoop.mapred.JobID
/**
* JobID represents the immutable and unique identifier for
* the job. JobID consists of two parts. First part
* represents the jobtracker identifier, so that jobID to jobtracker map
* is defined. For cluster setup this string is the jobtracker
* start time, for local setting, it is "local".
* Second part of the JobID is the job number. <br>
* An example JobID is :
* <code>job_200707121733_0003</code> , which represents the third job
* running at the jobtracker started at <code>200707121733</code>.
* <p>
* Applications should never construct or parse JobID strings, but rather
* use appropriate constructors or {@link #forName(String)} method.
*
* @see TaskID
* @see TaskAttemptID
*/
hadoop : 一个文件对应有一个.crc的校验和文件,如果这个校验和文件有问题,那么hadoop fs -put的时候就会报错。方法是删除这个校验和文件。
-rwxrwxrwx 1 c users 5 07-13 17:06 data.dat
-rw-rw-r-- 1 c users 8536 08-22 20:25 .data.dat.crc
分享到:
相关推荐
- `hadoop job -status <jobid>`:查看特定作业的状态。 ##### 2.3 配置管理 - **配置修改**: - `hadoop fs -put <config-file> /etc/hadoop/`:更新配置文件。 - **配置查询**: - `hadoop config -list`:...
- **JobID**:JobID是Hadoop为每个提交的作业分配的唯一标识符。它的格式通常为`job_<jobtrackerID>_<jobNumber>`,例如`job_200707121733_0003`,表示这是由JobTracker `200707121733`处理的第3个作业。 ##### 3. ...
- `hadoop job -history <jobid>`:查看特定作业的历史记录。 - **其他常用命令**: - `hadoop jar`:用于提交MapReduce作业。 - `hadoop distcp`:用于在两个HDFS之间复制数据。 - `hadoop fsck /`:检查HDFS...
### Hadoop源代码分析——Task的内部类与辅助类 #### 概述 在Hadoop框架中,`Task`类是处理数据的核心组件之一,它包括`MapTask`和`ReduceTask`两种类型,分别负责数据的映射处理和归约处理。本文将深入剖析`Task`...
1. 杀死一个 job:hadoop job -list 得到 job 的 id,然后执行 hadoop job -kill jobId 2. 删除 HDFS 上的目录:hadoop fs -rmr /tmp/aaa 3. 增加一个新的存储节点:在新的节点上执行 Hadoop daemon.sh start ...
1. 杀死一个 Job:hadoop job –list 获取 Job 的 ID,然后执行 hadoop job -kill jobId 杀死指定的 Job。 2. 删除 HDFS 上的目录:hadoop fs -rmr <目录路径>。 3. 增加一个新的存储节点:在新的节点上执行 Hadoop ...
### Hadoop MapReduce任务提交与执行流程解析 #### 一、客户端提交任务 在Hadoop MapReduce框架中,客户端的任务提交是整个MapReduce作业启动的关键步骤。这一过程主要由`JobClient`类中的`runJob(JobConf job)`...
hadoop job [-list] [-list-active-trackers] [-history ] [-status <jobid>] [-kill <jobid>] [-info <jobid>] [-counters <jobid>] [-tasks <jobid>] [-conf ] [-D ] ``` **参数说明**: - `-list`:列出所有作业...
`submitJob`函数负责生成新的`JobID`,并将任务所需的所有资源(如jar文件、输入分片信息和配置文件)复制到HDFS上。输入分片信息被写入`job.split`文件,而配置信息则写入`job.xml`。此外,`JobClient`还会根据输入...
在这个过程中,`JobClient`会创建一个新的JobID,并将任务所需的所有资源(如jar包、输入数据分割信息和配置文件)复制到Hadoop的分布式文件系统(HDFS)上。`submitJob()`函数负责将任务提交到JobTracker,同时还会...
### Hadoop Job 提交流程详解 #### Hadoop 1.x 版本的 Job 提交流程 在 Hadoop 1.x 版本中,Job 的提交流程主要包括以下几个关键步骤: 1. **启动 JobClient 实例**:MapReduce 程序通过 `runJob()` 方法启动一个...
还向存在taskIndex和jobID的数据集添加一个processID列(表示正在运行的唯一软件) Cleaner.py 适当地预处理文件(作业事件,任务事件,任务使用情况,机器事件) 用法示例“ python3 Cleaner.py --jobevents ...
2. JobSubmitter通过代理对象向ResourceManager申请提交一个application,ResourceManager会返回资源提交路径stagingDir和jobID,并将它们拼接成job资源提交路径。 3. 客户端会调用FileInputFormat.getSplit()方法...
+ 查看任务状态信息:oozie job -oozie http://localhost:11000/oozie -info jobid。 + OOZIE WEB 界面查看调度任务:http://hadoop233:11000/oozie。 4. OOZIE 调度 sqoop: 在 job.properties 文件中配置 ...
- **Stage2: JobHistoryParser** - 解析每个 JobId 的 History,并从中提取作业元数据,如 JobId、用户、开始时间等信息。这些元数据随后被存储到 PostgreSQL 数据库中,而 History 数据则被存储到 HBase 中。 ####...
阿里云E-MapReduce是基于Hadoop的数据处理服务,提供了大规模数据处理和分析的能力。本资源摘要信息将对阿里云E-MapReduce的常见问题进行总结,涵盖了作业和执行计划的区别、作业日志的查看、集群和执行计划的计时...