1
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.mapreduce.task.JobContextImpl.<init>(JobContextImpl.java:72)
at org.apache.hadoop.mapreduce.Job.<init>(Job.java:133)
at org.apache.hadoop.mapreduce.Job.<init>(Job.java:123)
at org.apache.hadoop.mapreduce.Job.<init>(Job.java:128)
at driver.main(driver.java:64)

Getting the above error , using ubuntu 12.04 32-bit , java jdk I am using is java-6-openjdk-i386.

And here is the driver class code :-

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
import org.apache.hadoop.mapreduce.task.JobContextImpl;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;


        Job baseJob = new Job(conf,"baseJob");//for base itemsets
khanna
  • 718
  • 10
  • 24
  • Can we have some code perhaps? – DeadChex Mar 09 '14 at 06:16
  • Search for IBM_JAVA in your code, do you have such field ? Do you use such environment variable ? – Jay Mar 09 '14 at 07:42
  • 1
    No, using IBM_JAVA nowhere in my code. Far as I know, it has something to deal with conflicts of JDK version I am using and Hadoop 2.2.0 APIs , It isn't a new error but nobody seems to have solved it so far . – khanna Mar 09 '14 at 09:51
  • Would you mind to show us you project dependancies? Are you using shark, or hadoop-core ? – ra. Mar 26 '14 at 22:21
  • http://stackoverflow.com/questions/24105852/java-lang-nosuchfielderror-ibm-java-for-a-simple-hbase-java-client-in-eclipse/25291838#25291838 – Alok Pathak Aug 13 '14 at 16:56

1 Answers1

2

I have met the same exception.
The cause is that your java dependancies are not complete, you have lost the jar package hadoop-auth-2.2.0.jar or its newer version. The field IBM_JAVA is in the java class PlatformName.class, which is in the package org.apache.hadoop.util in hadoop-auth-2.2.0.jar.

bummi
  • 27,123
  • 14
  • 62
  • 101
Alex Zhang
  • 21
  • 2
  • This is correct -- hadoop-auth-X.jar is missing from your class path. I was using Spark, and had to add to add the jar to `SPARK_CLASSPATH` in `spark-env.sh` like so: `export SPARK_CLASSPATH="$SPARK_CLASSPATH:/root/shark/lib_managed/jars/org.apache.hadoop/hadoop-auth/hadoop-auth-2.3.0-cdh5.0.0.jar"` – Sohan Jain Jul 21 '14 at 16:42