Hi Juho, Can you try submitting with HADOOP_CLASSPATH=`hadoop classpath` set? [1] For example: HADOOP_CLASSPATH=`hadoop classpath` link-${FLINK_VERSION}/bin/flink run [...]
Best, Gary [1] https://ci.apache.org/projects/flink/flink-docs-master/ops/deployment/hadoop.html#configuring-flink-with-hadoop-classpaths On Wed, Mar 28, 2018 at 4:26 PM, Juho Autio <juho.au...@rovio.com> wrote: > I built a new Flink distribution from release-1.5 branch today. > > I tried running a job but get this error: > java.lang.NoClassDefFoundError: com/sun/jersey/core/util/ > FeaturesAndProperties > > I use yarn-cluster mode. > > The jersey-core jar is found in the hadoop lib on my EMR cluster, but > seems like it's not used any more. > > I checked that jersey-core classes are not included in the new > distribution, but they were not included in my previously built flink > 1.5-SNAPSHOT either, which works. Has something changed recently to cause > this? > > Is this a Flink bug or should I fix this by somehow explicitly telling > Flink YARN app to use the hadoop lib now? > > More details below if needed. > > Thanks, > Juho > > > My launch command is basically: > > flink-${FLINK_VERSION}/bin/flink run -m yarn-cluster -yn ${NODE_COUNT} > -ys ${SLOT_COUNT} -yjm ${JOB_MANAGER_MEMORY} -ytm ${TASK_MANAGER_MEMORY} > -yst -yD restart-strategy=fixed-delay -yD > restart-strategy.fixed-delay.attempts=3 > -yD "restart-strategy.fixed-delay.delay=30 s" -p ${PARALLELISM} $@ > > > I'm also setting this to fix some classloading error (with the previous > build that still works) > -yD.classloader.resolve-order=parent-first > > > Error stack trace: > > java.lang.NoClassDefFoundError: com/sun/jersey/core/util/ > FeaturesAndProperties > at java.lang.ClassLoader.defineClass1(Native Method) > at java.lang.ClassLoader.defineClass(ClassLoader.java:763) > at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) > at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) > at java.net.URLClassLoader.access$100(URLClassLoader.java:73) > at java.net.URLClassLoader$1.run(URLClassLoader.java:368) > at java.net.URLClassLoader$1.run(URLClassLoader.java:362) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:361) > at java.lang.ClassLoader.loadClass(ClassLoader.java:424) > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338) > at java.lang.ClassLoader.loadClass(ClassLoader.java:357) > at org.apache.hadoop.yarn.client.api.TimelineClient.createTimelineClient( > TimelineClient.java:55) > at org.apache.hadoop.yarn.client.api.impl.YarnClientImpl. > createTimelineClient(YarnClientImpl.java:181) > at org.apache.hadoop.yarn.client.api.impl.YarnClientImpl. > serviceInit(YarnClientImpl.java:168) > at org.apache.hadoop.service.AbstractService.init( > AbstractService.java:163) > at org.apache.flink.yarn.cli.FlinkYarnSessionCli.getClusterDescriptor( > FlinkYarnSessionCli.java:971) > at org.apache.flink.yarn.cli.FlinkYarnSessionCli.createDescriptor( > FlinkYarnSessionCli.java:273) > at org.apache.flink.yarn.cli.FlinkYarnSessionCli.createClusterDescriptor( > FlinkYarnSessionCli.java:449) > at org.apache.flink.yarn.cli.FlinkYarnSessionCli.createClusterDescriptor( > FlinkYarnSessionCli.java:92) > at org.apache.fliCommand exiting with ret '31' > >