Hi Madhukar,

could you check whether your Flink installation contains the
flink-dist-0.10.1.jar in the lib folder? This file contains the necessary
scala-library.jar which you are missing. You can also remove the line
<exclude>org.scala-lang:scala-library</exclude> which excludes the
scala-library dependency to be included in the fat jar of your job.

Cheers,
Till
​

On Wed, Jan 6, 2016 at 5:54 AM, Madhukar Thota <madhukar.th...@gmail.com>
wrote:

> Hi
>
> I am seeing the following error when i am trying to run the jar in Flink
> Cluster. I am not sure what dependency is missing.
>
>  /opt/DataHUB/flink-0.10.1/bin/flink  run datahub-heka-1.0-SNAPSHOT.jar
> flink.properties
> java.lang.NoClassDefFoundError: scala/collection/GenTraversableOnce$class
>         at kafka.utils.Pool.<init>(Pool.scala:28)
>         at
> kafka.consumer.FetchRequestAndResponseStatsRegistry$.<init>(FetchRequestAndResponseStats.scala:60)
>         at
> kafka.consumer.FetchRequestAndResponseStatsRegistry$.<clinit>(FetchRequestAndResponseStats.scala)
>         at kafka.consumer.SimpleConsumer.<init>(SimpleConsumer.scala:39)
>         at
> kafka.javaapi.consumer.SimpleConsumer.<init>(SimpleConsumer.scala:34)
>         at
> org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer.getPartitionsForTopic(FlinkKafkaConsumer.java:691)
>         at
> org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer.<init>(FlinkKafkaConsumer.java:281)
>         at
> org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer082.<init>(FlinkKafkaConsumer082.java:49)
>         at com.lmig.datahub.heka.Main.main(Main.java:39)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:497)
>         at
> org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:497)
>         at
> org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:395)
>         at
> org.apache.flink.client.program.Client.runBlocking(Client.java:252)
>         at
> org.apache.flink.client.CliFrontend.executeProgramBlocking(CliFrontend.java:676)
>         at org.apache.flink.client.CliFrontend.run(CliFrontend.java:326)
>         at
> org.apache.flink.client.CliFrontend.parseParameters(CliFrontend.java:978)
>         at org.apache.flink.client.CliFrontend.main(CliFrontend.java:1028)
> Caused by: java.lang.ClassNotFoundException:
> scala.collection.GenTraversableOnce$class
>         at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>         ... 20 more
>
> The exception above occurred while trying to run your command.
>
>
> Here is my pom.xml:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <project xmlns="http://maven.apache.org/POM/4.0.0";
>          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
> http://maven.apache.org/xsd/maven-4.0.0.xsd";>
>     <modelVersion>4.0.0</modelVersion>
>
>     <groupId>com.datahub</groupId>
>     <artifactId>datahub-heka</artifactId>
>     <version>1.0-SNAPSHOT</version>
>     <dependencies>
>         <dependency>
>             <groupId>org.apache.flink</groupId>
>             <artifactId>flink-java</artifactId>
>             <version>0.10.1</version>
>         </dependency>
>         <dependency>
>             <groupId>org.apache.flink</groupId>
>             <artifactId>flink-streaming-java</artifactId>
>             <version>0.10.1</version>
>         </dependency>
>         <dependency>
>             <groupId>org.apache.flink</groupId>
>             <artifactId>flink-clients</artifactId>
>             <version>0.10.1</version>
>         </dependency>
>         <dependency>
>             <groupId>org.apache.kafka</groupId>
>             <artifactId>kafka_2.10</artifactId>
>             <version>0.8.2.2</version>
>         </dependency>
>         <dependency>
>             <groupId>org.apache.flink</groupId>
>             <artifactId>flink-connector-kafka</artifactId>
>             <version>0.10.1</version>
>         </dependency>
>         <dependency>
>             <groupId>org.apache.flink</groupId>
>             <artifactId>flink-connector-elasticsearch</artifactId>
>             <version>0.10.1</version>
>         </dependency>
>         <dependency>
>             <groupId>org.elasticsearch</groupId>
>             <artifactId>elasticsearch</artifactId>
>             <version>1.7.2</version>
>         </dependency>
>         <dependency>
>             <groupId>org.elasticsearch</groupId>
>             <artifactId>elasticsearch-shield</artifactId>
>             <version>1.3.3</version>
>         </dependency>
>         <dependency>
>             <groupId>org.elasticsearch</groupId>
>             <artifactId>elasticsearch-license-plugin</artifactId>
>             <version>1.0.0</version>
>         </dependency>
>         <dependency>
>             <groupId>com.fasterxml.jackson.core</groupId>
>             <artifactId>jackson-core</artifactId>
>             <version>2.6.4</version>
>         </dependency>
>         <dependency>
>             <groupId>com.fasterxml.jackson.core</groupId>
>             <artifactId>jackson-databind</artifactId>
>             <version>2.6.4</version>
>         </dependency>
>     </dependencies>
>     <repositories>
>         <repository>
>             <id>elasticsearch-releases</id>
>             <url>http://maven.elasticsearch.org/releases</url>
>             <releases>
>                 <enabled>true</enabled>
>             </releases>
>             <snapshots>
>                 <enabled>false</enabled>
>             </snapshots>
>         </repository>
>     </repositories>
>     <build>
>         <plugins>
>             <!-- We use the maven-shade plugin to create a fat jar that 
> contains all dependencies
>             except flink and it's transitive dependencies. The resulting 
> fat-jar can be executed
>             on a cluster. Change the value of Program-Class if your program 
> entry point changes. -->
>             <plugin>
>                 <groupId>org.apache.maven.plugins</groupId>
>                 <artifactId>maven-shade-plugin</artifactId>
>                 <version>2.4.1</version>
>                 <executions>
>                     <!-- Run shade goal on package phase -->
>                     <execution>
>                         <phase>package</phase>
>                         <goals>
>                             <goal>shade</goal>
>                         </goals>
>                         <configuration>
>                             <artifactSet>
>                                 <excludes>
>                                     <!-- This list contains all dependencies 
> of flink-dist
>                                     Everything else will be packaged into the 
> fat-jar
>                                     -->
>                                     
> <exclude>org.apache.flink:flink-shaded-*</exclude>
>                                     
> <exclude>org.apache.flink:flink-core</exclude>
>                                     
> <exclude>org.apache.flink:flink-java</exclude>
>                                     
> <exclude>org.apache.flink:flink-scala</exclude>
>                                     
> <exclude>org.apache.flink:flink-runtime</exclude>
>                                     
> <exclude>org.apache.flink:flink-optimizer</exclude>
>                                     
> <exclude>org.apache.flink:flink-clients</exclude>
>                                     
> <exclude>org.apache.flink:flink-avro</exclude>
>                                     
> <exclude>org.apache.flink:flink-java-examples</exclude>
>                                     
> <exclude>org.apache.flink:flink-scala-examples</exclude>
>                                     
> <exclude>org.apache.flink:flink-streaming-examples</exclude>
>                                     
> <exclude>org.apache.flink:flink-streaming-java</exclude>
>
>                                     <!-- Also exclude very big transitive 
> dependencies of Flink
>                                     WARNING: You have to remove these 
> excludes if your code relies on other
>                                     versions of these dependencies.
>                                     -->
>                                     
> <exclude>org.scala-lang:scala-library</exclude>
>                                     
> <exclude>org.scala-lang:scala-compiler</exclude>
>                                     
> <exclude>org.scala-lang:scala-reflect</exclude>
>                                     
> <exclude>com.amazonaws:aws-java-sdk</exclude>
>                                     
> <exclude>com.typesafe.akka:akka-actor_*</exclude>
>                                     
> <exclude>com.typesafe.akka:akka-remote_*</exclude>
>                                     
> <exclude>com.typesafe.akka:akka-slf4j_*</exclude>
>                                     <exclude>io.netty:netty-all</exclude>
>                                     <exclude>io.netty:netty</exclude>
>                                     
> <exclude>org.eclipse.jetty:jetty-server</exclude>
>                                     
> <exclude>org.eclipse.jetty:jetty-continuation</exclude>
>                                     
> <exclude>org.eclipse.jetty:jetty-http</exclude>
>                                     
> <exclude>org.eclipse.jetty:jetty-io</exclude>
>                                     
> <exclude>org.eclipse.jetty:jetty-util</exclude>
>                                     
> <exclude>org.eclipse.jetty:jetty-security</exclude>
>                                     
> <exclude>org.eclipse.jetty:jetty-servlet</exclude>
>                                     
> <exclude>commons-fileupload:commons-fileupload</exclude>
>                                     <exclude>org.apache.avro:avro</exclude>
>                                     
> <exclude>commons-collections:commons-collections</exclude>
>                                     
> <exclude>org.codehaus.jackson:jackson-core-asl</exclude>
>                                     
> <exclude>org.codehaus.jackson:jackson-mapper-asl</exclude>
>                                     
> <exclude>com.thoughtworks.paranamer:paranamer</exclude>
>                                     
> <exclude>org.xerial.snappy:snappy-java</exclude>
>                                     
> <exclude>org.apache.commons:commons-compress</exclude>
>                                     <exclude>org.tukaani:xz</exclude>
>                                     
> <exclude>com.esotericsoftware.kryo:kryo</exclude>
>                                     
> <exclude>com.esotericsoftware.minlog:minlog</exclude>
>                                     <exclude>org.objenesis:objenesis</exclude>
>                                     <exclude>com.twitter:chill_*</exclude>
>                                     <exclude>com.twitter:chill-java</exclude>
>                                     
> <exclude>com.twitter:chill-avro_*</exclude>
>                                     
> <exclude>com.twitter:chill-bijection_*</exclude>
>                                     
> <exclude>com.twitter:bijection-core_*</exclude>
>                                     
> <exclude>com.twitter:bijection-avro_*</exclude>
>                                     
> <exclude>commons-lang:commons-lang</exclude>
>                                     <exclude>junit:junit</exclude>
>                                     
> <exclude>de.javakaffee:kryo-serializers</exclude>
>                                     <exclude>joda-time:joda-time</exclude>
>                                     
> <exclude>org.apache.commons:commons-lang3</exclude>
>                                     <exclude>org.slf4j:slf4j-api</exclude>
>                                     <exclude>org.slf4j:slf4j-log4j12</exclude>
>                                     <exclude>log4j:log4j</exclude>
>                                     
> <exclude>org.apache.commons:commons-math</exclude>
>                                     
> <exclude>org.apache.sling:org.apache.sling.commons.json</exclude>
>                                     
> <exclude>commons-logging:commons-logging</exclude>
>                                     
> <exclude>org.apache.httpcomponents:httpclient</exclude>
>                                     
> <exclude>org.apache.httpcomponents:httpcore</exclude>
>                                     
> <exclude>commons-codec:commons-codec</exclude>
>                                     
> <exclude>com.fasterxml.jackson.core:jackson-core</exclude>
>                                     
> <exclude>com.fasterxml.jackson.core:jackson-databind</exclude>
>                                     
> <exclude>com.fasterxml.jackson.core:jackson-annotations</exclude>
>                                     
> <exclude>org.codehaus.jettison:jettison</exclude>
>                                     <exclude>stax:stax-api</exclude>
>                                     <exclude>com.typesafe:config</exclude>
>                                     
> <exclude>org.uncommons.maths:uncommons-maths</exclude>
>                                     
> <exclude>com.github.scopt:scopt_*</exclude>
>                                     
> <exclude>org.mortbay.jetty:servlet-api</exclude>
>                                     <exclude>commons-io:commons-io</exclude>
>                                     <exclude>commons-cli:commons-cli</exclude>
>                                 </excludes>
>                             </artifactSet>
>                             <filters>
>                                 <filter>
>                                     <artifact>org.apache.flink:*</artifact>
>                                     <excludes>
>                                         
> <exclude>org/apache/flink/shaded/**</exclude>
>                                         <exclude>web-docs/**</exclude>
>                                     </excludes>
>                                 </filter>
>                                 <filter>
>                                     <!-- Do not copy the signatures in the 
> META-INF folder.
>                                     Otherwise, this might cause 
> SecurityExceptions when using the JAR. -->
>                                     <artifact>*:*</artifact>
>                                     <excludes>
>                                         <exclude>META-INF/*.SF</exclude>
>                                         <exclude>META-INF/*.DSA</exclude>
>                                         <exclude>META-INF/*.RSA</exclude>
>                                     </excludes>
>                                 </filter>
>                             </filters>
>                             <transformers>
>                                 <!-- add Main-Class to manifest file -->
>                                 <transformer 
> implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
>                                     
> <mainClass>com.datahub.heka.Main</mainClass>
>                                 </transformer>
>                             </transformers>
>                             
> <createDependencyReducedPom>false</createDependencyReducedPom>
>                         </configuration>
>                     </execution>
>                 </executions>
>             </plugin>
>
>             <!-- Configure the jar plugin to add the main class as a manifest 
> entry -->
>             <plugin>
>                 <groupId>org.apache.maven.plugins</groupId>
>                 <artifactId>maven-jar-plugin</artifactId>
>                 <version>2.5</version>
>                 <configuration>
>                     <archive>
>                         <manifestEntries>
>                             <Main-Class>com.datahub.heka.Main</Main-Class>
>                         </manifestEntries>
>                     </archive>
>                 </configuration>
>             </plugin>
>
>             <plugin>
>                 <groupId>org.apache.maven.plugins</groupId>
>                 <artifactId>maven-compiler-plugin</artifactId>
>                 <version>3.1</version>
>                 <configuration>
>                     <source>1.8</source> <!-- If you want to use Java 8, 
> change this to "1.8" -->
>                     <target>1.8</target> <!-- If you want to use Java 8, 
> change this to "1.8" -->
>                 </configuration>
>             </plugin>
>         </plugins>
>
>
>     </build>
>     <profiles>
>         <profile>
>             <!-- A profile that does everyting correctly:
>             We set the Flink dependencies to provided -->
>             <id>build-jar</id>
>             <activation>
>                 <activeByDefault>false</activeByDefault>
>             </activation>
>             <dependencies>
>                 <dependency>
>                     <groupId>org.apache.flink</groupId>
>                     <artifactId>flink-java</artifactId>
>                     <version>0.10.1</version>
>                     <scope>provided</scope>
>                 </dependency>
>                 <dependency>
>                     <groupId>org.apache.flink</groupId>
>                     <artifactId>flink-streaming-java</artifactId>
>                     <version>0.10.1</version>
>                     <scope>provided</scope>
>                 </dependency>
>                 <dependency>
>                     <groupId>org.apache.flink</groupId>
>                     <artifactId>flink-clients</artifactId>
>                     <version>0.10.1</version>
>                     <scope>provided</scope>
>                 </dependency>
>             </dependencies>
>         </profile>
>     </profiles>
> </project>
>
>
> Any help is appreciated.
>
>
> Thanks
>
>

Reply via email to