NoClassDefFoundError:javax/security/auth/kerberos/KeyTab

NoClassDefFoundError:javax/security/auth/kerberos/KeyTab,java,hadoop,Java,Hadoop,我是hadoop新手。我正在尝试通过hadoop的toolrunner在netbeans环境中从java代码运行作业。但我仍然找不到解决问题的办法 线程“main”java.lang.NoClassDefFoundError中出现异常:javax/security/auth/kerberos/KeyTab 位于org.apache.hadoop.security.UserGroupInformation。(UserGroupInformation.java:609) 位于org.apache.h

我是hadoop新手。我正在尝试通过hadoop的toolrunner在netbeans环境中从java代码运行作业。但我仍然找不到解决问题的办法

线程“main”java.lang.NoClassDefFoundError中出现异常:javax/security/auth/kerberos/KeyTab 位于org.apache.hadoop.security.UserGroupInformation。(UserGroupInformation.java:609) 位于org.apache.hadoop.security.UserGroupInformation.loginUserFromSubject(UserGroupInformation.java:799) 位于org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:760) 位于org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:633) 位于org.apache.hadoop.fs.FileSystem$Cache$Key.(FileSystem.java:2812) 位于org.apache.hadoop.fs.FileSystem$Cache$Key.(FileSystem.java:2802) 位于org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2668) 位于org.apache.hadoop.fs.FileSystem.get(FileSystem.java:371) 位于org.apache.hadoop.fs.FileSystem.get(FileSystem.java:170) 位于org.enahang.mapreduce.utils.mrUtils.Test.run(Test.java:125) 位于org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) 位于org.enahang.mapreduce.utils.mrUtils.Test.main(Test.java:62)

我的平台是Windows7


我添加了许多库。首先,我添加了
Apacheds-kerberos-codec-2.0.0-M15.jar
然后我添加了许多其他类似的库
Javaee-api-7.0.jar
java-rt-jar-stubs-1.5.0.jar
… 但我不知道错误是从哪里来的

这是我为在代码中包含Keytab类而添加的.jar文件的完整列表:
apacheds-i18n-2.0.0-M15.jar
api-asn1-api-1.0.0-M20.jar
api-util-1.0.0-M20.jar
commons-cli-1.2.jar
commons-codec-1.4.jar
commons-collections-3.2.1.jar
commons-configuration-1.6.jar
jsp-api-2.1.jar
hadoop-auth-2.7.0.jar


提前谢谢

好的,我认为对于这个问题的研究已经足够了;答案是,
hadoop-conf-kerberos-6.0.0.jar
包含一些xml和属性文件,用于针对kerberos配置hadoop。我的程序查找KeyTab类的问题是由于错误的配置造成的。
[hadoop-conf-kerberos-6.0.0.jar][1]
包含准备好的配置文件,类似于
core site.xml
hdfs site.xml
mapred site.xml
,它补充了我添加到程序中的
Apacheds-kerberos-codec-2.0.0-M15.jar

在出现此错误之前,我的hadoop核心是hadoop-core-1.2.1.jar。但是由于Win7中的读/写权限错误,以及关于使用hadoop-0.20.2-core.jar的提示,我删除了第一个jar,然后添加了第二个jar。我想,我通过添加
hadoop-conf-kerberos-6.0.0.jar
解决了这个问题。但是,出现了一个新的错误:“java.lang.IllegalArgumentException:无法获取Kerberos领域”