the IBM_JAVA error for running jobs in Hadoop 2.2.0

馋奶兔 提交于 2019-12-08 07:50:30

问题


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

回答1:


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.



来源:https://stackoverflow.com/questions/22278620/the-ibm-java-error-for-running-jobs-in-hadoop-2-2-0

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!