2013-09-02 4 views
0

Я пытался выполнить программу подсчета слов в eclipse.ClassNotFoundException при выполнении программы mapreduce

Но во время выполнения программы я получаю следующее сообщение об ошибке

log4j:ERROR Could not instantiate class [org.apache.hadoop.log.metrics.EventCounter]. 
java.lang.ClassNotFoundException: org.apache.hadoop.log.metrics.EventCounter 
at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)   
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
at java.lang.Class.forName0(Native Method) 
at java.lang.Class.forName(Class.java:190) 
at org.apache.log4j.helpers.Loader.loadClass(Loader.java:198) 

at org.apache.log4j.helpers.OptionConverter.instantiateByClassName(OptionConverter.java:327) 
    at org.apache.log4j.helpers.OptionConverter.instantiateByKey(OptionConverter.java:124) 
    at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:785) 
    at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:768) 
    at org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:648) 
    at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:514) 
    at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:580) 
    at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:526) 
    at org.apache.log4j.LogManager.<clinit>(LogManager.java:127) 
    at org.apache.log4j.Logger.getLogger(Logger.java:104) 
    at org.apache.commons.logging.impl.Log4JLogger.getLogger(Log4JLogger.java:289) 
    at org.apache.commons.logging.impl.Log4JLogger.<init>(Log4JLogger.java:109) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526) 
    at org.apache.commons.logging.impl.LogFactoryImpl.createLogFromClass(LogFactoryImpl.java:1116) 
    at org.apache.commons.logging.impl.LogFactoryImpl.discoverLogImplementation(LogFactoryImpl.java:914) 
    at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:604) 
    at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:336) 
    at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:310) 
    at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:685) 
    at org.apache.hadoop.conf.Configuration.<clinit>(Configuration.java:150) 
    at mapreducetest.main(mapreducetest.java:43) 
log4j:ERROR Could not instantiate appender named "EventCounter". 
13/09/02 11:17:18 INFO security.UserGroupInformation: JAAS Configuration already set up for Hadoop, not re-installing. 
13/09/02 11:17:18 INFO jvm.JvmMetrics: Initializing JVM Metrics with processName=JobTracker, sessionId= 
13/09/02 11:17:18 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 
13/09/02 11:17:18 WARN mapred.JobClient: Use GenericOptionsParser for parsing the arguments. Applications should implement Tool for the same. 
13/09/02 11:17:18 WARN mapred.JobClient: No job jar file set. User classes may not be found. See JobConf(Class) or JobConf#setJar(String). 
13/09/02 11:17:18 INFO mapred.JobClient: Cleaning up the staging area file:/tmp/hadoop-hduser/mapred/staging/hduser201346744/.staging/job_local201346744_0001 
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/thirdparty/guava/common/collect/LinkedListMultimap 
    at org.apache.hadoop.hdfs.SocketCache.<init>(SocketCache.java:48) 
    at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:240) 
    at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:208) 
    at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:89) 
    at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:1563) 
    at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:67) 
    at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:1597) 
    at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:1579) 
    at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:228) 
    at org.apache.hadoop.fs.Path.getFileSystem(Path.java:183) 
    at org.apache.hadoop.mapred.FileOutputFormat.checkOutputSpecs(FileOutputFormat.java:106) 
    at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:986) 
    at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:945) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at javax.security.auth.Subject.doAs(Subject.java:415) 
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1157) 
    at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:945) 
    at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:919) 
    at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1368) 
    at mapreducetest.main(mapreducetest.java:59) 
    Caused by: java.lang.ClassNotFoundException:  org.apache.hadoop.thirdparty.guava.common.collect.LinkedListMultimap 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 20 more 

ответ

2
java.lang.ClassNotFoundException: org.apache.hadoop.log.metrics.EventCounter 

Вы упускаете класс на вашем пути к классам. Убедитесь, что все Apache Hadoop находится на вашем пути к классам. Ячейка, о которой идет речь, составляет hadoop-core-XXXXX.jar.

+0

/usr/lib/hadoop-0.20-mapreduce/hadoop-core.jar и /usr/lib/hadoop-0.20-mapreduce/hadoop-core-2.0.0-mr1-cdh4.3.1.jar файлы есть. ..can указать, какой файл jar должен быть включен? – user2728024

+0

@ user2728024 Нет, не увидев вашу настройку. все находятся на фактическом пути к классам? – hexafraction

+0

да .. эти два файла jar есть – user2728024

0

Когда вы вводите hadoop version в терминале, какую версию Hadoop вы получаете? Убедитесь, что у вас есть одинаковые hadoop-core .jar * и все библиотеки, включенные в каталог Hadoop lib в пути к классам для eclipse.

+0

mine is Hadoop 2.0.0-cdh4.3.1 и файлы jar core core также являются /usr/lib/hadoop-0.20-mapreduce/hadoop-tools-2.0.0-mr1 -cdh4.3.1.jar и /usr/lib/hadoop-0.20-mapreduce/hadoop-core.jar – user2728024

+0

Были ли вы также указаны другие банки, которые у вас есть в вашей библиотеке? –

+0

да .. я добавил все банки теперь ошибка Исключение в потоке «основного» java.lang.ArrayIndexOutOfBoundsException: 0 \t в org.apache.avro.Protocol.main (Protocol.java:525) – user2728024

0

Добавить все файлы фляги для вашего проекта Eclipse

1.) В разделе каталога HADOOP_HOME 2.) Под HADOOP_HOME/Lib каталога

попробовать и посмотреть, работает ли он.

Однако вы можете столкнуться с некоторыми дополнительными проблемами, если вы используете eclipse под Windows для запуска программ MR.

+0

я добавил все баночка файлы теперь я получаю ошибку Исключение в потоке «основной» java.lang.ArrayIndexOutOfBoundsException: 0 \t в org.apache.avro.Protocol.main (Protocol.java:525) – user2728024

+0

Это должно быть вашим ошибка кода. – Rags

+0

Ошибка: не удалось найти или загрузить основной класс org.apache.hadoop.streaming.DumpTypedBytes Я добавил все файлы jar и теперь получаю эту ошибку ... ее программу, которую я копирую с сайта apachehadoop – user2728024

Смежные вопросы