java.lang.NoSuchFieldError:IBM_JAVA

Raghuveer

我看到了很多关于这个问题的参考,并且我一直在这里发布

我正在使用Hadoop 2.4.1和Flume 1.5.0.1。我的flume-env.sh配置如下

FLUME_CLASSPATH="/var/lib/apache-flume-ng:lib/hadoop-core-1.2.0.jar:lib/hadoop-auth-2.4.1.jar:lib/hadoop-yarn-api-2.4.1.jar:lib/hadoop-mapreduce-client-jobclient-2.4.1.jar:lib/hadoop-mapreduce-client-core-2.4.1.jar:lib/hadoop-common-2.4.1.jar:lib/hadoop-annotations-2.4.1.jar"

通过这些jar,我又添加了一个jar,它是Flume的lib中可用的commons-configuration-1.6.jar。我是Flume和Hadoop的新手。

完整的跟踪如下:

ERROR [conf-file-poller-0] (org.apache.flume.node.PollingPropertiesFileConfigurationProvider$FileWatcherRunnable.run:149)  - Unhandled error
java.lang.NoSuchFieldError: IBM_JAVA
    at org.apache.hadoop.security.UserGroupInformation.getOSLoginModuleName(UserGroupInformation.java:337)
    at org.apache.hadoop.security.UserGroupInformation.<clinit>(UserGroupInformation.java:382)
    at org.apache.flume.sink.hdfs.HDFSEventSink.authenticate(HDFSEventSink.java:553)
    at org.apache.flume.sink.hdfs.HDFSEventSink.configure(HDFSEventSink.java:272)
    at org.apache.flume.conf.Configurables.configure(Configurables.java:41)
    at org.apache.flume.node.AbstractConfigurationProvider.loadSinks(AbstractConfigurationProvider.java:418)
    at org.apache.flume.node.AbstractConfigurationProvider.getConfiguration(AbstractConfigurationProvider.java:103)
    at org.apache.flume.node.PollingPropertiesFileConfigurationProvider$FileWatcherRunnable.run(PollingPropertiesFileConfigurationProvider.java:140)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
Raghuveer

终于我找到了答案。

  1. 从hadoop-auth复制PlatformName类,并在本地自定义编译它。

    软件包org.apache.hadoop.util;

    公共类PlatformName {

        private static final String platformName = System.getProperty("os.name") + "-" + System.getProperty("os.arch") + "-" + System.getProperty("sun.arch.data.model");
    
        public static final String JAVA_VENDOR_NAME = System.getProperty("java.vendor");
    
        public static final boolean IBM_JAVA = JAVA_VENDOR_NAME.contains("IBM");
    
        public static String getPlatformName() {
            return platformName;
        }
    
        public static void main(String[] args) {
            System.out.println(platformName);
        }
    }
    
  2. 复制将类文件粘贴到您的hadoop-core中。您应该启动并运行。

谢谢大家

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

java.lang.NoSuchFieldError的:ACCEPT_CASE_INSENSITIVE_VALUES

“java.lang.NoSuchFieldError的:超级”异常 - 错误的编译器?

线程“主”中的异常java.lang.NoSuchFieldError:TRACE

春季:java.lang.NoSuchFieldError:IMPORT_BEAN_NAME_GENERATOR

Spring 3.1 entityManagerFactory java.lang.NoSuchFieldError:NULL错误

NoSuchFieldError Java

java.lang.NoSuchFieldError:INSTANCE

java lang验证错误

java.lang.NoSuchFieldError:默认

线程“主”中的异常java.lang.NoSuchFieldError:JAVA_VENDOR

Eclipse无法启动:java.lang.NoSuchFieldError:url

java.lang.NoSuchFieldError:反思

更改类后java.lang.NoSuchFieldError

JSON解析器-java.lang.NoSuchFieldError:defaultReader

适用于ssm的aws Java sdk提供了java.lang.NoSuchFieldError:SIGNING_REGION

NullnessChecker错误:java.lang.NoSuchFieldError:释放

ScalaFx MouseEvent:java.lang.NoSuchFieldError:返回

使用ScalaTest时出现java.lang.NoSuchFieldError

正在创建CA ...意外错误java.lang.NoSuchFieldError:BasicConstraints

java.lang.NoSuchFieldError:Apache HttpComonents和Wildfly中的实例

HttpClientBuilder-java.lang.NoSuchFieldError:INSTANCE

由第3方模块引起的java.lang.NoSuchFieldError

java.lang.NoSuchFieldError: INSTANCE - WebDriver

java.lang.ArrayIndexOutOfBoundsException

java.lang.NoSuchFieldError: 运行 JUnit 测试时的边缘

GPIO - java.lang.NoSuchFieldError: device_reference

java.lang.NumberFormatException?

java中如何解决java.lang.NoSuchFieldError: RETURN_NULL_AND_BLANK

使用 AWS Amplify API 時的 Android java.lang.NoSuchFieldError