Trung Hiếu Trần
Trung Hiếu Trần

Reputation: 375

YARN resourcemanager : NoClassDefFoundError with start-yarn.sh

Im new to hadoop and YARN. after starting hdfs then I start YARN using start-yarn.sh provided in package and got error.

I use hadoop 3.2.0, jdk-11 on ubuntu 18.04. I started hdfs with namenode and 2 datanodes sucessfully. Error is caused when I starting yarn ( single node ) with start-yarn.sh with following config.

In etc/hadoop/yarn-site.xml

<configuration>
    <property>
            <name>yarn.acl.enable</name>
            <value>0</value>
    </property>

    <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>10.0.0.87</value>
    </property>

    <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
    </property>
</configuration>

And then I got the errors as below

2019-09-18 15:06:18,118 INFO org.apache.hadoop.yarn.server.resourcemanager.ResourceManager: Transitioning to standby state
2019-09-18 15:06:18,118 INFO org.apache.hadoop.yarn.server.resourcemanager.ResourceManager: Transitioned to standby state
2019-09-18 15:06:18,118 FATAL org.apache.hadoop.yarn.server.resourcemanager.ResourceManager: Error starting ResourceManager
org.apache.hadoop.yarn.webapp.WebAppException: Error starting http server
    at org.apache.hadoop.yarn.webapp.WebApps$Builder.start(WebApps.java:443)
    at org.apache.hadoop.yarn.server.resourcemanager.ResourceManager.startWepApp(ResourceManager.java:1197)
    at org.apache.hadoop.yarn.server.resourcemanager.ResourceManager.serviceStart(ResourceManager.java:1306)
    at org.apache.hadoop.service.AbstractService.start(AbstractService.java:194)
    at org.apache.hadoop.yarn.server.resourcemanager.ResourceManager.main(ResourceManager.java:1501)
Caused by: java.io.IOException: Unable to initialize WebAppContext
    at org.apache.hadoop.http.HttpServer2.start(HttpServer2.java:1157)
    at org.apache.hadoop.yarn.webapp.WebApps$Builder.start(WebApps.java:439)
    ... 4 more
Caused by: com.google.inject.ProvisionException: Unable to provision, see the following errors:

1) Error injecting constructor, java.lang.NoClassDefFoundError: javax/activation/DataSource
  at org.apache.hadoop.yarn.server.resourcemanager.webapp.JAXBContextResolver.<init>(JAXBContextResolver.java:41)
  at org.apache.hadoop.yarn.server.resourcemanager.webapp.RMWebApp.setup(RMWebApp.java:54)
  while locating org.apache.hadoop.yarn.server.resourcemanager.webapp.JAXBContextResolver

1 error
    at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1025)
    at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1051)
    at com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory$GuiceInstantiatedComponentProvider.getInstance(GuiceComponentProviderFactory.java:345)
    at com.sun.jersey.core.spi.component.ioc.IoCProviderFactory$ManagedSingleton.<init>(IoCProviderFactory.java:202)
    at com.sun.jersey.core.spi.component.ioc.IoCProviderFactory.wrap(IoCProviderFactory.java:123)
    at com.sun.jersey.core.spi.component.ioc.IoCProviderFactory._getComponentProvider(IoCProviderFactory.java:116)
    at com.sun.jersey.core.spi.component.ProviderFactory.getComponentProvider(ProviderFactory.java:153)
    at com.sun.jersey.core.spi.component.ProviderServices.getComponent(ProviderServices.java:278)
    at com.sun.jersey.core.spi.component.ProviderServices.getProviders(ProviderServices.java:151)
...

Looking for your help. Many Thanks

Upvotes: 1

Views: 2024

Answers (1)

OneCricketeer
OneCricketeer

Reputation: 191733

I use hadoop 3.2.0, JDK-11... Error injecting constructor, java.lang.NoClassDefFoundError: javax/activation/DataSource

Hadoop still requires Java 8, which has this class

https://cwiki.apache.org/confluence/display/HADOOP/Hadoop+Java+Versions

Upvotes: 3

Related Questions