在Hadoop 2.2.0中运行作业的IBM_JAVA错误
我遇到了同样的例外情况。在Hadoop 2.2.0中运行作业的IBM_JAVA错误,java,hadoop,mapreduce,Java,Hadoop,Mapreduce,我遇到了同样的例外情况。 原因是您的java依赖性不完整,您丢失了jar包hadoop-auth-2.2.0.jar或其更新版本。IBM_JAVA字段位于JAVA类PlatformName.class中,该类位于hadoop-auth-2.2.0.jar中的org.apache.hadoop.util包中。我们可能有一些代码吗?在代码中搜索IBM_JAVA,您有这样的字段吗?您使用这样的环境变量吗?不,在我的代码中没有使用IBM_JAVA。据我所知,它可以处理我正在使用的JDK版本和Hadoop
原因是您的java依赖性不完整,您丢失了jar包hadoop-auth-2.2.0.jar或其更新版本。IBM_JAVA字段位于JAVA类PlatformName.class中,该类位于hadoop-auth-2.2.0.jar中的org.apache.hadoop.util包中。我们可能有一些代码吗?在代码中搜索IBM_JAVA,您有这样的字段吗?您使用这样的环境变量吗?不,在我的代码中没有使用IBM_JAVA。据我所知,它可以处理我正在使用的JDK版本和Hadoop 2.2.0 API之间的冲突,这不是一个新错误,但到目前为止似乎还没有人解决它。您介意向我们展示您的项目依赖性吗?您使用的是shark还是hadoop core?这是正确的——类路径中缺少hadoop-auth-X.jar。我使用的是Spark,必须添加jar以将其添加到
Spark env.sh
中的Spark_类路径中,就像这样:export Spark_类路径=“$Spark_类路径:/root/shark/lib_managed/jars/org.apache.hadoop/hadoop auth/hadoop-auth-2.3.0-cdh5.0.jar”
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)
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