/**
 * <code>JobClient</code> is the primary interface for the user-job to interact
 * with the {@link JobTracker}.
 * 翻译:JobClient是用户的作业与JobTracker进行交互的最基本接口
 * <code>JobClient</code> provides facilities to submit jobs, track their
 * progress, access component-tasks' reports/logs, get the Map-Reduce cluster
 * status information etc.
 * 翻译:JobClient提供提交作业的工具,追踪作业的进度,获取component-tasks(合成任务)的日志,获取Map-Reduce集群状态信息等等。
 * <p>The job submission process involves:翻译:作业提交过程包括如下
 * <ol>
 *   <li>
 *   Checking the input and output specifications of the job.翻译:检测作业的输入和输入描述
 *   </li>
 *   <li>
 *   Computing the {@link InputSplit}s for the job.翻译:计算作业的InputSplit
 *   </li>
 *   <li>
 *   Setup the requisite accounting information for the {@link DistributedCache}
 *   of the job, if necessary.

*   翻译:如果有必要的话,为作业的DistributedCache设置必要的accounting information
 *   </li>
 *   <li>
 *   Copying the job's jar and configuration to the map-reduce system directory
 *   on the distributed file-system.

*   翻译:拷贝作业的jar文件和配置文件到分布式文件系统里的map-reduce系统目录
 *   </li>
 *   <li>
 *   Submitting the job to the <code>JobTracker</code> and optionally monitoring
 *   it's status.

*  翻译:提交作业到JobTracker,并选择性的监控它的状态
 *   </li>
 * </ol></p>
 *  
 * Normally the user creates the application, describes various facets of the
 * job via {@link JobConf} and then uses the <code>JobClient</code> to submit
 * the job and monitor its progress.
 * 翻译:通常用户创建应用程序,通过JobConf来描述作业的各个方面,并且用JobClient来提交作业,并监视它的进度
 * <p>Here is an example on how to use <code>JobClient</code>:</p>翻译:这里有一个例子,教你如何使用JobClient
 * <p><blockquote><pre>
 *     // Create a new JobConf 翻译:创建一个JobConf对象
 *     JobConf job = new JobConf(new Configuration(), MyJob.class);
 *     
 *     // Specify various job-specific parameters   翻译:指定各种各样的和作业有关的具体参数
 *     job.setJobName("myjob");
 *     
 *     job.setInputPath(new Path("in"));
 *     job.setOutputPath(new Path("out"));
 *     
 *     job.setMapperClass(MyJob.MyMapper.class);
 *     job.setReducerClass(MyJob.MyReducer.class);
 *
 *     // Submit the job, then poll for progress until the job is complete翻译:提交作业,不停的询问进度,知道作业完成
 *     JobClient.runJob(job);
 * </pre></blockquote></p>
 *
 * <h4 id="JobControl">Job Control</h4>
 *
 * <p>At times clients would chain map-reduce jobs to accomplish complex tasks
 * which cannot be done via a single map-reduce job. This is fairly easy since
 * the output of the job, typically, goes to distributed file-system and that
 * can be used as the input for the next job.</p>
 * 翻译:有时,clients会把许多的map-reduce作业“链”在一起,取完成一些复杂的任务,这些作业是不能通过一个单一的map-reduce作业来完成的。

    这是非常容易实现的,因为作业的输出通常是在分布式文件系统,所以这些在分布式文件系统的输出可以用作下一个作业的输入。
 * <p>However, this also means that the onus on ensuring jobs are complete
 * (success/failure) lies squarely on the clients. In such situations the
 * various job-control options are:

* 然而,这也意味着,确保作业成功或者失败的重任直接就落在了clients上。在这种情况下,job-control选项如下:
 * <ol>
 *   <li>
 *   {@link #runJob(JobConf)} : submits the job and returns only after
 *   the job has completed.翻译:提交作业,并且只有在作业完成之后返回。
 *   </li>
 *   <li>
 *   {@link #submitJob(JobConf)} : only submits the job, then poll the
 *   returned handle to the {@link RunningJob} to query status and make
 *   scheduling decisions.

*   翻译:仅提交作业,此时,通过RunningJob(<p>Clients can get hold of <code>RunningJob</code> via the {@link JobClient}
 * and then query the running-job for details such as name, configuration,
 * progress etc.</p> )不停的请求句柄,来查询状态和调度决策
 *   </li>
 *   <li>
 *   {@link JobConf#setJobEndNotificationURI(String)} : setup a notification
 *   on job-completion, thus avoiding polling.

*   翻译:设置一个作业完成通知,因此就可以避免不停的询问进度
 *   </li>
 * </ol></p>
 *
 * @see JobConf
 * @see ClusterStatus
 * @see Tool
 * @see DistributedCache
 */

JobClient的更多相关文章

  1. eclipse下提交job时报错mapred.JobClient: No job jar file set. User classes may not be found.

    错误信息: 11/10/14 13:52:07 WARN mapred.JobClient: Use GenericOptionsParser for parsing the arguments. A ...

  2. JobClient学习------作业提交与初始化

    public static void main(String[] args) throws Exception { Configuration conf = new Configuration(); ...

  3. 【Hadoop代码笔记】通过JobClient对Jobtracker的调用详细了解Hadoop RPC

    Hadoop的各个服务间,客户端和服务间的交互采用RPC方式.关于这种机制介绍的资源很多,也不难理解,这里不做背景介绍.只是尝试从Jobclient向JobTracker提交作业这个最简单的客户端服务 ...

  4. mapred.JobClient: No job jar file set. User classes may not be found. See JobConf(Class) or JobConf#setJar(String).

    报错详情: WARN mapred.JobClient: No job jar file set.  User classes may not be found. See JobConf(Class) ...

  5. hadoop报错:WARN mapred.JobClient: Error reading task outputNo route to host

    解决方案: /etc/sysconfig/network/etc/hosts$hostname 这三处的主机名都要一样. 具体参考:http://blog.itpub.net/28254374/vie ...

  6. mapreduce多文件输出的两方法

    mapreduce多文件输出的两方法   package duogemap;   import java.io.IOException;   import org.apache.hadoop.conf ...

  7. hadoop2.7之Mapper/reducer源码分析

    一切从示例程序开始: 示例程序 Hadoop2.7 提供的示例程序WordCount.java package org.apache.hadoop.examples; import java.io.I ...

  8. [Hadoop in Action] 第7章 细则手册

    向任务传递定制参数 获取任务待定的信息 生成多个输出 与关系数据库交互 让输出做全局排序   1.向任务传递作业定制的参数        在编写Mapper和Reducer时,通常会想让一些地方可以配 ...

  9. [Hadoop in Action] 第6章 编程实践

    Hadoop程序开发的独门绝技 在本地,伪分布和全分布模式下调试程序 程序输出的完整性检查和回归测试 日志和监控 性能调优   1.开发MapReduce程序   [本地模式]        本地模式 ...

随机推荐

  1. 1章 perl入门

    1.标量数据    单变量    数字和字符串两种情况 2.所有数字的内部格式都相同.浮点型   perl中没有应对整数值得运算   . 3.浮点数直接量 数字e表示10的次方标示符 例子:-6.5e ...

  2. DB2 和 有道词典冲突: A communication error has been detected. Communication protocol being used: Reply.fill().

    我在本机安装了DB2 9.5. 使用java jdbc连接,一直没有问题. QC for db2 连接 也一直没有问题. 突然有一天 Java程序连接 报错: A communication erro ...

  3. pip installl安装包特别慢? 指定源进行安装

    指定源地址安装: pip install -i http://pypi.douban.com/simple/ packagename pip install -i http://pypi.tuna.t ...

  4. iOS-----openGL--openGL ES iOS 入门篇4---> 离屏渲染

    http://www.cnblogs.com/CoderAlex/p/6604618.html 通常情况下,我们使用openGL将渲染好的图片绘制到屏幕上,但有时候我们不想显示处理结果,这时候就需要使 ...

  5. 【Luogu】P3355骑士共存问题(最小割)

    题目链接 像题面那样把棋盘染成红黄点.发现骑士迈一步能到达的点的颜色一定是跟他所在的格子的颜色不同的.于是(woc哪来的于是?这个性质有这么明显吗?)从源点向所有红点连边,从所有黄点向汇点连边,红点向 ...

  6. NOJ——1568走走走走走啊走(超级入门DP)

    [1568] 走走走走走啊走 时间限制: 1000 ms 内存限制: 65535 K 问题描述 菜菜赚了钱回来,想起要买很多桶回来,不同地方的桶质量是不同的,他在(1,1)点出发因为飞机票有点贵所以他 ...

  7. NOJ——聊天止于呵呵(string流重定向+map,水题)

    [1645] 聊天止于呵呵 时间限制: 5000 ms 内存限制: 65535 K 问题描述 (现代版)俗话说:流言止于智者,聊天止于呵呵.输入一段聊天记录,你的任务是数一数有 多少段对话“止于呵呵” ...

  8. P1438 无聊的数列 (线段树)

    题目链接 Solution 直接维护一个差分的线段树就好了. 其中线段树的节点代表 \(r\) 比 \(l\) 多多少. Code #include<bits/stdc++.h> #def ...

  9. Bootstrap 模态框(Modal)插件数据传值

    原文:http://blog.csdn.net/baalhuo/article/details/51178154 模态框具体代码如下: <!-- 模态框(Modal) --> <di ...

  10. poj 3068 "Shortest" pair of paths

    "Shortest" pair of paths Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 1407 ...