Robert Metzger created FLINK-2987: ------------------------------------- Summary: Flink 0.10 fails to start on YARN 2.6.0 Key: FLINK-2987 URL: https://issues.apache.org/jira/browse/FLINK-2987 Project: Flink Issue Type: Bug Components: Build System, YARN Client Affects Versions: 0.10 Environment: Microsoft Azure HDInsight on Linux: 3.2.1000.0 Reporter: Robert Metzger Assignee: Robert Metzger Fix For: 0.10.1
While testing Flink for the release, I noticed that it does not start on YARN due to classloading issues. The error message is the following {code} robert@hn0-apache:~/flink-0.10.0$ ./bin/yarn-session.sh -n 2 Exception in thread "main" java.lang.RuntimeException: Could not instantiate type 'org.apache.flink.yarn.FlinkYarnClient' Most likely the constructor (or a member variable initialization) threw an exception: com/sun/jersey/api/client/config/ClientConfig at org.apache.flink.util.InstantiationUtil.instantiate(InstantiationUtil.java:152) at org.apache.flink.util.InstantiationUtil.instantiate(InstantiationUtil.java:118) at org.apache.flink.client.FlinkYarnSessionCli.getFlinkYarnClient(FlinkYarnSessionCli.java:262) at org.apache.flink.client.FlinkYarnSessionCli.createFlinkYarnClient(FlinkYarnSessionCli.java:107) at org.apache.flink.client.FlinkYarnSessionCli.run(FlinkYarnSessionCli.java:400) at org.apache.flink.client.FlinkYarnSessionCli.main(FlinkYarnSessionCli.java:351) Caused by: java.lang.NoClassDefFoundError: com/sun/jersey/api/client/config/ClientConfig at org.apache.hadoop.yarn.client.api.TimelineClient.createTimelineClient(TimelineClient.java:45) at org.apache.hadoop.yarn.client.api.impl.YarnClientImpl.serviceInit(YarnClientImpl.java:163) at org.apache.hadoop.service.AbstractService.init(AbstractService.java:163) at org.apache.flink.yarn.FlinkYarnClientBase.<init>(FlinkYarnClientBase.java:157) at org.apache.flink.yarn.FlinkYarnClient.<init>(FlinkYarnClient.java:23) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:526) at java.lang.Class.newInstance(Class.java:379) at org.apache.flink.util.InstantiationUtil.instantiate(InstantiationUtil.java:139) ... 5 more Caused by: java.lang.ClassNotFoundException: com.sun.jersey.api.client.config.ClientConfig at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) ... 16 more {code} The issue occurs with the following versions: - flink-0.10.0-bin-hadoop26-scala_2.11.tgz - flink-0.10.0-bin-hadoop26-scala_2.10.tgz - flink-0.10.0-bin-hadoop27-scala_2.10.tgz It works for: - flink-0.10.0-bin-hadoop24-scala_2.10.tgz - flink-0.9.1-bin-hadoop26.tgz Interestingly, the issue only occurs, when {{HADOOP_CONF_DIR}} is set. Otherwise, the YARN client is starting until its unable to connect to the RM. The missing class is in the jersey-client dependency, which we exclude from Hadoop, in {{flink-shaded-hadoop2}}. -- This message was sent by Atlassian JIRA (v6.3.4#6332)