简体   繁体   English

错误:java.lang.RuntimeException:java.lang.ClassNotFoundException:类WordCountExample $ Map未找到

[英]Error: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class WordCountExample$Map not found

I am using ubuntu system and trying to run wordcount.jar program. 我正在使用ubuntu系统并尝试运行wordcount.jar程序。 Unfortunately, I am having the following error - 不幸的是,我遇到以下错误-

Error: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class WordCountExample$Map not found 错误:java.lang.RuntimeException:java.lang.ClassNotFoundException:类WordCountExample $ Map未找到

I have updated the classpath as it is - 我已经更新了类路径-

job.setJarByClass(WordCountExample.class); job.setJarByClass(WordCountExample.class); and jobconf.setJarByClass(WordCountExample.class); 和jobconf.setJarByClass(WordCountExample.class);

None of this work. 没有这项工作。 Don't know what is wrong. 不知道怎么了。 Please share your expatriate in this regards. 请在这方面与您的外籍人士分享。

import java.io.IOException;
import java.util.*;

import org.apache.hadoop.fs.Path;
import org.apache.hadoop.conf.*;
import org.apache.hadoop.io.*;
import org.apache.hadoop.mapreduce.*;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.input.TextInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
import org.apache.hadoop.mapreduce.lib.output.TextOutputFormat;

/** * @author http://www.devinline.com */ / ** * @author http://www.devinline.com * /

public class WordCountExample {
/* Map class which job will use and execute it map method */
public static class Map extends
Mapper<LongWritable, Text, Text, IntWritable> {
private final static IntWritable one = new IntWritable(1);
private Text word = new Text();

public void map(LongWritable key, Text value, Context context)
throws IOException, InterruptedException {
String line = value.toString();
StringTokenizer tokenizer = new StringTokenizer(line);
while (tokenizer.hasMoreTokens()) {
word.set(tokenizer.nextToken());
context.write(word, one);
}}}

/* Reduce class which job will use and execute it reduce method */
public static class Reduce extends
Reducer<Text, IntWritable, Text, IntWritable> {

public void reduce(Text key, Iterable<IntWritable> values,
Context context) throws IOException, InterruptedException {
int sum = 0;
for (IntWritable val : values) {
sum += val.get();
}
context.write(key, new IntWritable(sum));
}}

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

/* Created a job with name wordCountExample */
Job job = Job.getInstance(conf, "wordCountExample");
job.setJarByClass(WordCountExample.class);  

/*
* Handler string and int in hadoop way: for string hadoop uses Text
* class and for int uses IntWritable */
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(IntWritable.class);

/*
 * Configure map and reducer class, based on which it uses map and
    /* reduce method
     */
job.setMapperClass(Map.class);
job.setReducerClass(Reduce.class);

    /* Input and output format set as TextInputFormat */
job.setInputFormatClass(TextInputFormat.class);
job.setOutputFormatClass(TextOutputFormat.class);

    /* addInputPath - passes input file path to job */
FileInputFormat.addInputPath(job, new Path(args[0]));
    /* setOutputPath - passes output path to job */
FileOutputFormat.setOutputPath(job, new Path(args[1]));

    /* Submit the job to the cluster and wait for it to finish. */
System.exit(job.waitForCompletion(true) ? 1 : 0);
}}

hadoop jar /home/nahmed/WordcountSample.jar WordCountExample /user/nahmed/pg20417.txt /user/nahmed/WCoutput 19/08/15 21:31:12 INFO client.RMProxy: Connecting to ResourceManager at it066431.massey.ac.nz/130.123.248.83:8050 hadoop jar /home/nahmed/WordcountSample.jar WordCountExample /user/nahmed/pg20417.txt / user / nahmed / WCoutput 15/08/15 21:31:12 INFO client.RMProxy:在it066431.massey.ac上连接到ResourceManager。 nz / 130.123.248.83:8050

19/08/15 21:31:12 INFO client.AHSProxy: Connecting to Application History server at it066431.massey.ac.nz/130.123.248.83:10200 19/08/15 21:31:12 WARN mapreduce.JobResourceUploader: Hadoop command-line option parsing not performed. 19/08/15 21:31:12 INFO client.AHSProxy:连接到位于it066431.massey.ac.nz/130.123.248.83:10200的Application History服务器。15/08/15 21:31:12 WARN mapreduce.JobResourceUploader:Hadoop命令行选项解析未执行。 Implement the Tool interface and execute your application with ToolRunner to remedy this. 实施Tool接口并使用ToolRunner执行您的应用程序以对此进行纠正。 19/08/15 21:31:12 WARN mapreduce.JobResourceUploader: No job jar file set. 2015年8月19日21:31:12警告mapreduce.JobResourceUploader:未设置作业jar文件。 User classes may not be found. 可能找不到用户类别。 See Job or Job#setJar(String). 请参见Job或Job#setJar(String)。 19/08/15 21:31:12 INFO input.FileInputFormat: Total input paths to process : 1 19/08/15 21:31:12 INFO mapreduce.JobSubmitter: number of splits:1 19/08/15 21:31:12 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1562128011754_0026 19/08/15 21:31:13 INFO mapred.YARNRunner: Job jar is not present. 19/08/15 21:31:12 INFO输入.FileInputFormat:要处理的总输入路径:1 19/08/15 21:31:12 INFO mapreduce.JobSubmitter:分割数:1 19/08/15 21:31 :12 INFO mapreduce.JobSubmitter:提交作业令牌:job_1562128011754_0026 19/08/15 21:31:13 INFO mapred.YARNRunner:作业jar不存在。 Not adding any jar to the list of resources. 不将任何jar添加到资源列表中。 19/08/15 21:31:13 INFO impl.YarnClientImpl: Submitted application application_1562128011754_0026 19/08/15 21:31:13 INFO mapreduce.Job: The url to track the job: http://it066431.massey.ac.nz:8088/proxy/application_1562128011754_0026/ 19/08/15 21:31:13 INFO mapreduce.Job: Running job: job_1562128011754_0026 19/08/15 21:31:17 INFO mapreduce.Job: Job job_1562128011754_0026 running in uber mode : false 19/08/15 21:31:17 INFO mapreduce.Job: map 0% reduce 0% 19/08/15 21:31:20 INFO mapreduce.Job: Task Id : attempt_1562128011754_0026_m_000000_0, Status : FAILED Error: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class WordCountExample$Map not found at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2228) at org.apache.hadoop.mapreduce.task.JobContextImpl.getMapperClass(JobContextImpl.java:186) at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:745) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341) at org.apache.hadoop.mapred.YarnChild$2.run(Y 19/08/15 21:31:13 INFO impl.YarnClientImpl:提交的应用程序application_1562128011754_0026 19/08/15 21:31:13 INFO mapreduce.Job:跟踪作业的网址: http ://it066431.massey.ac 。 nz:8088 / proxy / application_1562128011754_0026 / 19/08/15 21:31:13 INFO mapreduce.Job:正在运行的作业:job_1562128011754_0026 19/08/15 21:31:17 INFO mapreduce.Job:Job job_1562128011754_0026以超级模式运行:false 19/08/15 21:31:17 INFO mapreduce.Job:映射0%减少0%19/08/15 21:31:20 INFO mapreduce.Job:任务ID:try_1562128011754_0026_m_000000_0,状态:FAILED错误:java.lang。 RuntimeException:java.lang.ClassNotFoundException:类WordCountExample $ Map在org.apache.hadoop.mapreduce.task.JobContextImpl.getMapperClass(JobContextImpl.org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2228)上找不到。 java:186)位于org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:745)位于org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)位于org.apache.hadoop.mapred .YarnChild $ 2.run(Y arnChild.java:170) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:422) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1866) at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:164) Caused by: java.lang.ClassNotFoundException: Class WordCountExample$Map not found at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:2134) at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2226) ... 8 more org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation)上的javax.security.auth.Subject.doAs(Subject.java:422)处的java.security.AccessController.doPrivileged(本机方法)的arnChild.java:170) java:1866)在org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:164)原因:java.lang.ClassNotFoundException:类WordCountExample $ Map在org.apache.hadoop.conf.Configuration.getClassByName上找不到(Configuration.java:2134)位于org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2226)...还有8个

Container killed by the ApplicationMaster. 容器被ApplicationMaster杀死。 Container killed on request. 集装箱应要求被杀死。 Exit code is 143 Container exited with a non-zero exit code 143 退出代码为143容器退出,退出代码为非零143

19/08/15 21:31:23 INFO mapreduce.Job: Task Id : attempt_1562128011754_0026_m_000000_1, Status : FAILED Error: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class WordCountExample$Map not found at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2228) at org.apache.hadoop.mapreduce.task.JobContextImpl.getMapperClass(JobContextImpl.java:186) at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:745) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341) at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:170) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:422) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1866) at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:164) Caused by: java.lang.ClassNotFoundException: Class WordCountExample$Map not found at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:2134) at org.a 19/08/15 21:31:23 INFO mapreduce.Job:任务ID:try_1562128011754_0026_m_000000_1,状态:FAILED错误:java.lang.RuntimeException:java.lang.ClassNotFoundException:类WordCountExample $ Map在org.apache.hadoop上找不到。 org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java :)上的conf.Configuration.getClass(Configuration.java:2228)在org.apache.hadoop.mapreduce.task.JobContextImpl.getMapperClass(JobContextImpl.java:186) 745)at org.apache.hadoop.mapred.YarnChild $ 2.run(YarnChild.java:170)at org.apache.hadoop.mapred.YarnChild $ 2.run(YarnChild.java:170)at java.security.AccessController.doPrivileged( org.apache.hadoop.mapred.YarnChild上javax.security.auth.Subject.doAs(Subject.java:422)上的本机方法).org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1866) main(YarnChild.java:164)原因:java.lang.ClassNotFoundException:类WordCountExample $ Map在org.a的org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:2134)上找不到 pache.hadoop.conf.Configuration.getClass(Configuration.java:2226) ... 8 more pache.hadoop.conf.Configuration.getClass(Configuration.java:2226)...还有8个

Container killed by the ApplicationMaster. 容器被ApplicationMaster杀死。 Container killed on request. 集装箱应要求被杀死。 Exit code is 143 Container exited with a non-zero exit code 143 退出代码为143容器退出,退出代码为非零143

19/08/15 21:31:26 INFO mapreduce.Job: Task Id : attempt_1562128011754_0026_m_000000_2, Status : FAILED Error: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class WordCountExample$Map not found at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2228) at org.apache.hadoop.mapreduce.task.JobContextImpl.getMapperClass(JobContextImpl.java:186) at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:745) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341) at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:170) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:422) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1866) at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:164) Caused by: java.lang.ClassNotFoundException: Class WordCountExample$Map not found at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:2134) at org.a 15年8月19日21:31:26信息mapreduce。工作:任务ID:try_1562128011754_0026_m_000000_2,状态:失败错误:java.lang.RuntimeException:java.lang.ClassNotFoundException:类WordCountExample $ Map在org.apache.hadoop上找不到。 org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java :)上的conf.Configuration.getClass(Configuration.java:2228)在org.apache.hadoop.mapreduce.task.JobContextImpl.getMapperClass(JobContextImpl.java:186) 745)at org.apache.hadoop.mapred.YarnChild $ 2.run(YarnChild.java:170)at org.apache.hadoop.mapred.YarnChild $ 2.run(YarnChild.java:170)at java.security.AccessController.doPrivileged( org.apache.hadoop.mapred.YarnChild上javax.security.auth.Subject.doAs(Subject.java:422)上的本机方法).org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1866) main(YarnChild.java:164)原因:java.lang.ClassNotFoundException:类WordCountExample $ Map在org.a的org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:2134)上找不到 pache.hadoop.conf.Configuration.getClass(Configuration.java:2226) ... 8 more pache.hadoop.conf.Configuration.getClass(Configuration.java:2226)...还有8个

Container killed by the ApplicationMaster. 容器被ApplicationMaster杀死。 Container killed on request. 集装箱应要求被杀死。 Exit code is 143 Container exited with a non-zero exit code 143 退出代码为143容器退出,退出代码为非零143

19/08/15 21:31:31 INFO mapreduce.Job: map 100% reduce 100% 19/08/15 21:31:31 INFO mapreduce.Job: Job job_1562128011754_0026 failed with state FAILED due to: Task failed task_1562128011754_0026_m_000000 Job failed as tasks failed. 19/08/15 21:31:31 INFO mapreduce.Job:映射100%减少100%19/08/15 21:31:31 INFO mapreduce.Job:作业job_1562128011754_0026因状态失败而失败,原因是:任务失败task_1562128011754_0026_m_000000作业失败由于任务失败。 failedMaps:1 failedReduces:0 failedMaps:1次失败减少:0次

19/08/15 21:31:31 INFO mapreduce.Job: Counters: 13 Job Counters Failed map tasks=4 Killed reduce tasks=1 Launched map tasks=4 Other local map tasks=3 Data-local map tasks=1 Total time spent by all maps in occupied slots (ms)=53207 Total time spent by all reduces in occupied slots (ms)=0 Total time spent by all map tasks (ms)=7601 Total time spent by all reduce tasks (ms)=0 Total vcore-milliseconds taken by all map tasks=7601 Total vcore-milliseconds taken by all reduce tasks=0 Total megabyte-milliseconds taken by all map tasks=54483968 Total megabyte-milliseconds taken by all reduce tasks=0 15年8月19日21:31:31信息mapreduce.Job:计数器:13作业计数器失败的地图任务= 4杀死的reduce任务= 1已启动的地图任务= 4其他本地地图任务= 3数据本地地图任务= 1总时间所有地图在占用插槽中所花费的时间(ms)= 53207所有缩小在占用插槽中所花费的总时间(ms)= 0所有地图任务所花费的总时间(ms)= 7601所有缩减任务所花费的总时间(ms)= 0所有映射任务占用的总vcore毫秒= 7601所有缩减任务占用的总vcore毫秒= 0所有映射任务占用的总兆字节毫秒= 54483968所有reduce任务占用的总兆字节毫秒= 0

You have two nested classes: Map and Reduce. 您有两个嵌套的类:Map和Reduce。 The error says that java was not able to find find them. 该错误表明Java无法找到找到它们。 Most probably the jar /home/nahmed/WordcountSample.jar doesn't contains them. 最有可能的jar /home/nahmed/WordcountSample.jar不包含它们。 Verify that executing: 验证执行:

 jar -tf  /home/nahmed/WordcountSample.jar

If they were not included in the jar, I think the issue the way you compile. 如果它们不包含在jar中,我认为这是您编译方式的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 hadoop,java.lang.RuntimeException:java.lang.ClassNotFoundException错误 - hadoop, java.lang.RuntimeException: java.lang.ClassNotFoundException error 有关hadoop的问题“java.lang.RuntimeException:java.lang.ClassNotFoundException:” - Question on hadoop “java.lang.RuntimeException: java.lang.ClassNotFoundException: ” 运行地图精简程序时出现错误java.lang.RuntimeException:java.lang.ClassNotFoundException:wordcount_classes.WordCount $ Map - Error java.lang.RuntimeException: java.lang.ClassNotFoundException: wordcount_classes.WordCount$Map while running the map reduce program java.lang.RuntimeException:无法实例化活动ComponentInfo {...}:java.lang.ClassNotFoundException:未找到类 - java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{…}: java.lang.ClassNotFoundException: Didn't find class java.lang.RuntimeException:无法实例化活动 ComponentInfo{}:java.lang.ClassNotFoundException - java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{}: java.lang.ClassNotFoundException java.lang.RuntimeException:无法实例化接收者:java.lang.ClassNotFoundException - java.lang.RuntimeException: Unable to instantiate receiver : java.lang.ClassNotFoundException java.lang.RuntimeException:java.lang.ClassNotFoundException:com.coremedia.iso.boxes.mdat.MediaDataBox - java.lang.RuntimeException: java.lang.ClassNotFoundException: com.coremedia.iso.boxes.mdat.MediaDataBox java.lang.RuntimeException:无法实例化应用程序,java.lang.ClassNotFoundException: - java.lang.RuntimeException: Unable to instantiate application, java.lang.ClassNotFoundException: java.lang.RuntimeException:尝试在Elastic MapReduce上运行Jar作业时出现java.lang.ClassNotFoundException - java.lang.RuntimeException: java.lang.ClassNotFoundException when trying to run Jar job on Elastic MapReduce java.lang.RuntimeException:java.lang.ClassNotFoundException: <org.objectweb.asm.ClassWriter.getCommonSuperClass(Unknown Source)> - java.lang.RuntimeException: java.lang.ClassNotFoundException: <org.objectweb.asm.ClassWriter.getCommonSuperClass(Unknown Source)>
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM