这似乎是一个愚蠢的问题,但我是新的hadoop,并试图运行一个简单的例子。但是,我经常遇到jar文件的问题,并且似乎没有正确的导入。我使用的是clouderacdh4,它有很多jar文件可供选择,每个文件有几个版本。因为我才刚刚开始,我无法区分。目前我得到了一个例外:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/configuration/Configuration
at org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.<init>(DefaultMetricsSystem.java:38)
at org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.<clinit>(DefaultMetricsSystem.java:36)
at org.apache.hadoop.security.UserGroupInformation$UgiMetrics.create(UserGroupInformation.java:120)
at org.apache.hadoop.security.UserGroupInformation.<clinit>(UserGroupInformation.java:236)
at org.apache.hadoop.mapreduce.task.JobContextImpl.<init>(JobContextImpl.java:72)
at org.apache.hadoop.mapreduce.Job.<init>(Job.java:144)
at org.apache.hadoop.mapreduce.Job.<init>(Job.java:131)
at org.apache.hadoop.mapreduce.Job.<init>(Job.java:139)
at com.ayon.hadoop.firstimpl.Driver1.main(Driver1.java:23)Caused by: java.lang.ClassNotFoundException: org.apache.commons.configuration.Configuration
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:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 9 more
可能是因为错误的jar文件导入。所以我的问题是:
有人能告诉我启动一个简单的hadoop作业需要哪些基本jar文件吗?此外,任何指向上述异常的指针都将不胜感激。
2条答案
按热度按时间2ekbmq321#
要包含所有必需的jar文件,请使用以下命令编译代码:
请注意报价
7gyucuyw2#
如果您使用的是eclipse,请按照以下步骤将jar添加到您的项目中
你准备好了。希望这有帮助。。同样,这取决于您使用的eclipse版本。