Exception in thread "main" java.lang.NoSuchFieldError: IBM_JAVA
at org.apache.hadoop.security.UserGroupInformation.getOSLoginModuleName(UserGroupInformation.java:303)
at org.apache.hadoop.security.UserGroupInformation.<clinit>(UserGroupInformation.java:348)
at org.apache.hadoop.fs.FileSystem$Cache$Key.<init>(FileSystem.java:2590)
at org.apache.hadoop.fs.FileSystem$Cache$Key.<init>(FileSystem.java:2582)
at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2448)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:367)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:166)
at org.apache.hadoop.mapred.JobConf.getWorkingDirectory(JobConf.java:653)
at org.apache.hadoop.mapred.FileInputFormat.addInputPath(FileInputFormat.java:408)
at MaxTemperature.main(MaxTemperature.java:25)

尝试在Windows-7下的Eclipse中运行hadoop madp-reduce程序时出现上述错误

JDK版本:

java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)

这里已经问过相同类型的问题:

在Hadoop 2.2.0中运行作业的IBM_JAVA错误,但没有人回答。

IBM_JAVA不是代码中使用的变量。

我是hadoop的新手,我不知道自己缺少什么。 请帮忙!

===============>>#1 票数:1

原因是您的Java依赖关系不完整,您丢失了jar包hadoop-auth-2.2.0.jar或其较新版本

===============>>#2 票数:0

就像user3762708所说的那样,您缺少了hadoop-auth软件包,将其添加到类路径中。

另外:如果问题仍然存在,请从类路径中删除hadoop-core。 它将与hadoop-auth冲突。

===============>>#3 票数:0


Hadoop身份验证2.6
Hadoop核心1.2.1

Hadoop身份验证2.6-> org.apache.hadoop.util.PlatformName.class具有IBM_JAVA(因此添加Jar)

org.apache.hadoop.security.UserGroupInformation存在于Hadoop中,并且不具有IBM_JAVA然后删除
Hadoop通用xx(如果已添加)

  ask by Magic translate from so

未解决问题?本站智能推荐: