报错信息

17/07/06 17:00:27 WARN mapred.JobClient: Use GenericOptionsParser for parsing the arguments. Applications should implement Tool for the same.
17/07/06 17:00:27 WARN mapred.JobClient: No job jar file set. User classes may not be found. See JobConf(Class) or JobConf#setJar(String).
17/07/06 17:00:27 INFO input.FileInputFormat: Total input paths to process : 1
17/07/06 17:00:27 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
17/07/06 17:00:27 WARN snappy.LoadSnappy: Snappy native library not loaded
17/07/06 17:00:27 INFO mapred.JobClient: Running job: job_201707060106_0012
17/07/06 17:00:28 INFO mapred.JobClient: map 0% reduce 0%
17/07/06 17:00:34 INFO mapred.JobClient: Task Id : attempt_201707060106_0012_m_000000_0, Status : FAILED
java.lang.RuntimeException: java.lang.ClassNotFoundException: com.mapreduce.MapUtil

问题出在工程下没有job 的jar包

解决办法

在conf中添加 conf.set("mapred.jar", "hadooptest.jar"); 其中 hadooptest.jar为导出jar包名称,mapred.jar不变

将工程打包jar文件,放到工程根目录下,再次运行问题解决

源码

package com.mapreduce;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;

public class MapReduceMain {

public static void main(String[] args) {
Configuration conf = new Configuration();
conf.set("mapred.job.tracker", "test1:9001");
conf.set("mapred.jar", "hadooptest.jar");
try {
Job job = new Job(conf);
job.setJarByClass(MapReduceMain.class);//设置启动类
job.setMapperClass(MapUtil.class);//设置map类
job.setReducerClass(ReduceUtil.class);//设置reduce类
job.setOutputKeyClass(Text.class);//设置输出key类型类
job.setOutputValueClass(IntWritable.class);//设置数据value类型类
// job.setNumReduceTasks(1);//设置reduce任务个数,默认为1
//输入数据所在的文件目录
FileInputFormat.addInputPath(job, new Path("hdfs://test1:9000/input/"));
//mapreduce执行后输出数据目录
FileOutputFormat.setOutputPath(job, new Path("hdfs://test1:9000/output/"));
System.exit(job.waitForCompletion(true)?0:1);
} catch (Exception e) {
e.printStackTrace();
}
}

}

最新文章

  1. html5开发移动页面去掉点击出现的透明阴影----&&-----元素垂直居中
  2. 欢迎你,phpWeChat 开发者
  3. SQL存在一个表而不在另一个表中的数据, 更新字段为随机时间
  4. Android布局优化策略
  5. 【leetcode】Plus One (easy)
  6. 泛函编程(22)-泛函数据类型-Monoid In Action
  7. js 控制div 显示隐藏的问题
  8. ServletContext当全局变量的使用
  9. hadoop中Combiner使用中需要注意的地方
  10. 08JS高级 ——“继承”
  11. 移动端APP CSS Reset及注意事项CSS重置
  12. 给GridControl中的某列添加图片
  13. vb代码之------画一个半透明矩形
  14. javaScript执行环境、作用域链与闭包
  15. 初识 go 语言:方法,接口及并发
  16. 解决Table不继承父节点的属性的方法
  17. YUV格式与RGB格式
  18. MVC 基于 AuthorizeAttribute 实现的登陆权限控制
  19. struts工作原理不错的解释___
  20. 图片加载库Glide的封装工具类,方便以后使用

热门文章

  1. jQuery 学习笔记(3)(内容选择器、attr方法、prop方法,类的操作)
  2. ZBX_NOTSUPPORTED: Cannot obtain filesystem information: [13] Permission denied
  3. bugfree3.0.1-邮件配置
  4. python基础(11)-常用模块
  5. [js]js代码执行顺序/全局&私有变量/作用域链/闭包
  6. 用git如何把单个文件回退到某一版本
  7. python+requests+excel+unittest+ddt接口自动化数据驱动并生成html报告
  8. qt 安装包生成
  9. 使用intellJ导入非maven,gradle等非构建工程的依赖,发布工程时候的打包详解
  10. 再解炸弹人,dfs&bfs