当前位置: 首页 > 知识库问答 >
问题:

Configuration.class定义在hadoop 2.0中移动了吗?

颜举
2023-03-14

我正在将我的一些MapReduce代码从Hadoop1.0迁移到Hadoop2.0。我从简单的单词计数工作开始。我将以下JAR添加到构建路径中,并删除了相应的Hadoop1.0 JAR。

    null
JobConf conf = new JobConf(new Configuration(), WordCount.class);
conf.setJobName("WordCount");

conf.setOutputKeyClass(Text.class);
conf.setOutputValueClass(IntWritable.class);

conf.setMapperClass(WordCountMap.class);
//conf.setCombinerClass(Reduce.class);
conf.setReducerClass(WordCountReduce.class);

conf.setInputFormat(TextInputFormat.class);
conf.setOutputFormat(TextOutputFormat.class);

FileInputFormat.setInputPaths(conf, new Path(params.getInput()));
FileOutputFormat.setOutputPath(conf, new Path(params.getOutput()));

JobClient.runJob(conf);
java.lang.NoClassDefFoundError: org/apache/hadoop/conf/Configuration
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2957)
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1210)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1690)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
at bigdata.hadoop.WordCount.execute(WordCount.java:55)
at bigdata.hadoop.WordCount.execute(WordCount.java:1)
at bigdata.hadoop.BigDataJobDriver.executeJobDriver(BigDataJobDriver.java:15)
at bigdata.jobs.WordCountJob.executeJob(WordCountJob.java:50)
at bigdata.quartz.BigDataJob.execute(BigDataJob.java:30)
at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557)
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.conf.Configuration
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
... 14 more
2016-01-23 03:03:35,408 ERROR [QuartzScheduler_Worker-1] core.ErrorLogger (QuartzScheduler.java:schedulerError(2361)) - Job (Hadoop.Hadoop 7 threw an exception.
org.quartz.SchedulerException: Job threw an unhandled exception. [See nested exception: java.lang.NoClassDefFoundError: org/apache/hadoop/conf/Configuration]
at org.quartz.core.JobRunShell.run(JobRunShell.java:224)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557)
Caused by: java.lang.NoClassDefFoundError: org/apache/hadoop/conf/Configuration
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2957)
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1210)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1690)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
at bigdata.hadoop.WordCount.execute(WordCount.java:55)
at bigdata.hadoop.WordCount.execute(WordCount.java:1)
at bigdata.hadoop.BigDataJobDriver.executeJobDriver(BigDataJobDriver.java:15)
at bigdata.jobs.WordCountJob.executeJob(WordCountJob.java:50)
at bigdata.quartz.BigDataJob.execute(BigDataJob.java:30)
at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
... 1 more
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.conf.Configuration
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
... 14 more
tar tvf hadoop-mapreduce-client-core-2.7.1.jar | grep Configuration.class

共有1个答案

赵昊阳
2023-03-14

通过配置的make object进行检查,并将其传递给Job对象。

比如:Configuration conf=new Configuration();Job Job=新作业(conf,“WordCount”);

 类似资料:
  • 问题内容: 在Java并发中,什么使线程“ 活动 ”?只是它没有空转的事实?从技术上讲,是否还在考虑“等待”或“暂停”线程? 问题答案: 据我所知,“主动”一词似乎使用了很多,但从未定义过。该方法记录为: 将此线程组及其子组中的每个活动线程复制到指定的数组中。 和从在寻找源出于此,它被检查方法以及将这些的枚举。据此,我推断出“活动”和“活跃”这两个术语是可以互换的,并且“活跃”被定义为: 如果线程

  • 问题内容: 您如何知道在运行时是否已在代码的特定位置设置了变量?这并不总是很明显,因为(1)可以有条件地设置变量,而(2)可以有条件地删除变量。我正在寻找类似Perl或PHP或Ruby中的东西。 问题答案: try: thevariable except NameError: print(“well, it WASN’T defined after all!”) else: print(“sure

  • 我是初学者在android。我正在创建一个自定义对话框,它工作正常。但是这个对话框不移动。如何移动这个自定义对话框。例如在窗口中包含记事本,油漆等。当你点击这个(记事本,油漆等)标题栏你可以移动的位置。如果可能请发送信息如何移动对话框。否则如果不可能发送原因。请回复你的答案和意见是有价值的我。谢谢。

  • 本文向大家介绍Android自定义view实现拖动小球移动,包括了Android自定义view实现拖动小球移动的使用技巧和注意事项,需要的朋友参考一下 Android应用界面中可以看得见的都是由一个个的View所组成的,几乎所有的可视的控件都是基于View写的。在View中提供了对touch也就是手势的捕获和传递,我们可以对View里面手势的重写来达到我们所需要的特性。比如说我们现在要做一款游戏,

  • 用鼠标和方向键,简单地在Atom中移来移去非常容易,然而Atom有一些快捷键,可以让你把手一直放到键盘上,更快速地浏览文档。 首先,Atom自带许多Emacs的快捷键来浏览文档。要想上移或者下移一个字符,你可以按ctrl-P和ctrl-N。左移或右移一个字符,按ctrl-B和ctrl-F。这样等同于按下方向键,但是一些人不喜欢把他们的手移到方向键的位置。 除了单个字符的移动,还有一些其他的用于移动

  • 我试图创建一个网络商店购物车组件的减速器,但我遇到了这个错误: “操作”未定义 我的代码如下: 这就是cartActions的样子。似乎以前的代码必须以某种方式使用它,但是如何使用呢?从“axios”导入axios;从“…”导入{CART\u ADD\u ITEM}/常数/常数'; 导出常量addToCart=(id,数量)= 这有什么问题?