You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "Chao Sun (Jira)" <ji...@apache.org> on 2020/11/11 07:14:00 UTC

[jira] [Resolved] (HADOOP-17327) NPE when starting MiniYARNCluster from hadoop-client-minicluster

     [ https://issues.apache.org/jira/browse/HADOOP-17327?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Chao Sun resolved HADOOP-17327.
-------------------------------
    Resolution: Fixed

> NPE when starting MiniYARNCluster from hadoop-client-minicluster
> ----------------------------------------------------------------
>
>                 Key: HADOOP-17327
>                 URL: https://issues.apache.org/jira/browse/HADOOP-17327
>             Project: Hadoop Common
>          Issue Type: Bug
>    Affects Versions: 3.3.0
>            Reporter: Chao Sun
>            Priority: Critical
>
> When starting MiniYARNCluster one could get the following exception:
> {code}
>   java.lang.NullPointerException:
>   at org.apache.hadoop.yarn.server.nodemanager.webapp.WebServer.serviceStart(WebServer.java:72)
>   at org.apache.hadoop.service.AbstractService.start(AbstractService.java:194)
>   at org.apache.hadoop.service.CompositeService.serviceStart(CompositeService.java:122)
>   at org.apache.hadoop.service.AbstractService.start(AbstractService.java:194)
>   at org.apache.hadoop.yarn.server.MiniYARNCluster$NodeManagerWrapper.serviceStart(MiniYARNCluster.java:616)
>   at org.apache.hadoop.service.AbstractService.start(AbstractService.java:194)
>   at org.apache.hadoop.service.CompositeService.serviceStart(CompositeService.java:122)
>   at org.apache.hadoop.yarn.server.MiniYARNCluster.serviceStart(MiniYARNCluster.java:327)
>   at org.apache.hadoop.service.AbstractService.start(AbstractService.java:194)
>   at org.apache.spark.deploy.yarn.BaseYarnClusterSuite.beforeAll(BaseYarnClusterSuite.scala:96)
>   ...
> {code}
> Looking into the code, this is because we explicitly exclude resource files under {{hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/resources/TERMINAL}}, and therefore this code in {{WebServer}} fails with NPE:
> {code}
>     terminalParams.put("resourceBase", WebServer.class
>         .getClassLoader().getResource("TERMINAL").toExternalForm());
> {code}
> Those who use {{hadoop-minicluster}} may not be affected because they'll also need {{hadoop-yarn-server-nodemanager}} as an extra dependency, which includes the resource files. On the other hand {{hadoop-client-minicluster}} packages both test classes (e.g., {{MiniYARNCluster}}) as well as main classes (e.g., {{ResourceManager}} and {{NodeManager}}) into a single shaded jar. It should include these resource files for testing as well. Otherwise, {{MiniYARNCluster}} is unusable.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: common-dev-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-dev-help@hadoop.apache.org