2016-07-27 6 views
0

내 로컬 환경에서 새 작업을 Flink (v 1.0.3)에 제출하면이 오류가 발생합니다.Flink 패키지가 누락되었습니다. CheckpointCommitter - flink-connector-cassandra - 하드 오류

에 의해 발생 : java.lang.NoClassDefFoundError가 : 조직/아파치/FLINK/스트리밍/실행/운영 org.apache.flink.streaming.connectors.cassandra.CassandraSink.addSink에서/CheckpointCommitter (CassandraSink.java:164) sun.reflect.NativeMethodAccessorImpl.invoke에서 sun.reflect.NativeMethodAccessorImpl.invoke0 (기본 방법) 에서 com.xxx.yyy.sample.backend.flink.AAAAA.main (AAAAA.java:99) (NativeMethodAccessorImpl.java에서 : 62) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke (Method.java:498) at org.apache.flink.client.program.PackagedProgram .callMainMethod (PackagedProgram.java:505) 012 org.apache.flink.client.program.OptimizerPlanEnvironment.getOptimizedPlan에서 org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution (PackagedProgram.java:403) 에서 3,516,(OptimizerPlanEnvironment.java:80) ... (33)보다 github에있는 소스 코드를 보면

https://github.com/apache/flink/tree/master/flink-streaming-java/src/main/java/org/apache/flink/streaming/runtime/operators

내가 클래스가 사용할 수 있어야한다는 생각과 파일을 가져되면, 클래스가 아닌이 FLINK 스트리밍 - java.jar에 포장되어야하지만 거기

missing CheckpointCommitter

아이디어가 있으십니까?

의 pom.xml

http://maven.apache.org/xsd/maven-4.0.0.xsd "> 4.0.0

<groupId>com.AAAAA.BBB</groupId> 
<artifactId>sample-backend-flink</artifactId> 
<version>0.0.1-SNAPSHOT</version> 
<packaging>jar</packaging> 

<name>Flink Quickstart Job</name> 
<url>http://www.myorganization.org</url> 

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <flink.version>1.0.3</flink.version> 
    <cassandra.version>2.2.7</cassandra.version> 
    <driver.version>3.0.0</driver.version> 
</properties> 

<repositories> 
    <repository> 
     <id>apache.snapshots</id> 
     <name>Apache Development Snapshot Repository</name> 
     <url>https://repository.apache.org/content/repositories/snapshots/</url> 
     <releases> 
      <enabled>true</enabled> 
     </releases> 
     <snapshots> 
      <enabled>true</enabled> 
     </snapshots> 
    </repository> 
</repositories> 


<dependencies> 
    <dependency> 
     <groupId>org.apache.flink</groupId> 
     <artifactId>flink-java</artifactId> 
     <version>${flink.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.flink</groupId> 
     <artifactId>flink-streaming-java_2.10</artifactId> 
     <version>${flink.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.flink</groupId> 
     <artifactId>flink-clients_2.10</artifactId> 
     <version>${flink.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.apache.flink</groupId> 
     <artifactId>flink-core</artifactId> 
     <version>${flink.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.apache.flink</groupId> 
     <artifactId>flink-connector-kafka-0.8_2.10</artifactId> 
     <version>1.0.2</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.flink</groupId> 
     <artifactId>flink-connector-cassandra_2.10</artifactId> 
     <version>1.0.2</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.flink</groupId> 
     <artifactId>flink-connector-redis_2.10</artifactId> 
     <version>1.1-SNAPSHOT</version> 
    </dependency> 
</dependencies> 

<profiles> 
    <profile> 
     <!-- Profile for packaging correct JAR files --> 
     <id>build-jar</id> 
     <activation> 
      <activeByDefault>false</activeByDefault> 
     </activation> 
     <dependencies> 
      <dependency> 
       <groupId>org.apache.flink</groupId> 
       <artifactId>flink-java</artifactId> 
       <version>${flink.version}</version> 
       <scope>provided</scope> 
      </dependency> 
      <dependency> 
       <groupId>org.apache.flink</groupId> 
       <artifactId>flink-streaming-java_2.10</artifactId> 
       <version>${flink.version}</version> 
       <scope>provided</scope> 
      </dependency> 
      <dependency> 
       <groupId>org.apache.flink</groupId> 
       <artifactId>flink-streaming-scala_2.10</artifactId> 
       <version>${flink.version}</version> 
       <scope>provided</scope> 
      </dependency> 
      <dependency> 
       <groupId>org.apache.flink</groupId> 
       <artifactId>flink-clients_2.10</artifactId> 
       <version>${flink.version}</version> 
       <scope>provided</scope> 
      </dependency> 
      <dependency> 
       <groupId>org.apache.flink</groupId> 
       <artifactId>flink-core</artifactId> 
       <version>${flink.version}</version> 
      </dependency> 
      <dependency> 
       <groupId>org.apache.flink</groupId> 
       <artifactId>flink-connector-kafka-0.8_2.10</artifactId> 
       <version>1.0.2</version> 
      </dependency> 
      <dependency> 
       <groupId>org.apache.flink</groupId> 
       <artifactId>flink-connector-cassandra_2.10</artifactId> 
       <version>1.1-SNAPSHOT</version> 
      </dependency> 
      <dependency> 
       <groupId>org.apache.flink</groupId> 
       <artifactId>flink-connector-redis_2.10</artifactId> 
       <version>1.1-SNAPSHOT</version> 
      </dependency> 
     </dependencies> 

     <build> 
      <plugins> 
       <!-- disable the exclusion rules --> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-shade-plugin</artifactId> 
        <version>2.4.1</version> 
        <executions> 
         <execution> 
          <phase>package</phase> 
          <goals> 
           <goal>shade</goal> 
          </goals> 
          <configuration> 
           <artifactSet> 
            <excludes combine.self="override"></excludes> 
           </artifactSet> 
          </configuration> 
         </execution> 
        </executions> 
       </plugin> 
      </plugins> 
     </build> 
    </profile> 
</profiles> 

<build> 
    <plugins> 
     <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><exclude>org.apache.flink:flink-annotations</exclude> 
           <exclude>org.apache.flink:flink-shaded-hadoop1</exclude> 
           <exclude>org.apache.flink:flink-shaded-hadoop2</exclude> 
           <exclude>org.apache.flink:flink-shaded-curator-recipes</exclude> 
           <exclude>org.apache.flink:flink-core</exclude> 
           <exclude>org.apache.flink:flink-java</exclude> 
           <exclude>org.apache.flink:flink-scala_2.10</exclude> 
           <exclude>org.apache.flink:flink-runtime_2.10</exclude> 
           <exclude>org.apache.flink:flink-optimizer_2.10</exclude> 
           <exclude>org.apache.flink:flink-clients_2.10</exclude> 
           <exclude>org.apache.flink:flink-avro_2.10</exclude> 
           <exclude>org.apache.flink:flink-examples-batch_2.10</exclude> 
           <exclude>org.apache.flink:flink-examples-streaming_2.10</exclude> 
           <exclude>org.apache.flink:flink-streaming-java_2.10</exclude> 


           <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>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>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>stax:stax-api</exclude> 
           <exclude>com.typesafe:config</exclude> 
           <exclude>org.uncommons.maths:uncommons-maths</exclude> 
           <exclude>com.github.scopt:scopt_*</exclude> 
           <exclude>commons-io:commons-io</exclude> 
           <exclude>commons-cli:commons-cli</exclude> 
          </excludes> 
         </artifactSet> 
         <filters> 
          <filter> 
           <artifact>org.apache.flink:*</artifact> 
           <excludes> 
            <!-- exclude shaded google but include shaded curator --> 
            <exclude>org/apache/flink/shaded/com/**</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.demandware.unified.sample.backend.flink.PhysicalInventory</mainClass> 
          </transformer> 
         </transformers> 
         <createDependencyReducedPom>false</createDependencyReducedPom> 
        </configuration> 
       </execution> 
      </executions> 
     </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> 

+0

Maven POM을 우리와 공유 할 수 있습니까? 문제 해결에 도움이 될 수 있습니다. – twalthr

+0

redis 커넥터에 대한 참조를 추가 했으므로 다른 클래스에 대해 동일한 오류가 발생합니다. – osva

+0

redis 커넥터에 대한 참조를 추가 했으므로 동일한 오류가 발생하지만 다른 클래스 인 java.lang에 대한 오류가 발생합니다. NoClassDefFoundError : org/apache/flink/util/Preconditions, 다시 github 클래스가 올바른 위치에 있는지 확인 github.com/apache/flink/tree/master/flink-core/src/main/java/org/apache/ flink/util하지만 내가 flink-core.jar을 실행할 때 클래스가 거기에 있지 않습니다. – osva

답변

0

내가 가진 비슷한 문제가 있습니다. 내게 맞는 것은 소스에 사용 된 KafkaConsumer/Producer가 사용자가 사용하는 것과 일치하는지 확인하는 것입니다.

다른 버전의 FlinkKafkaC onsumer.

이 가져 오기를 사용하는 경우

<dependency> 
    <groupId>org.apache.flink</groupId> 
    <artifactId>flink-connector-kafka-0.8_2.10</artifactId> 
    <version>1.0.2</version> 
</dependency> 

나에 대한 이상한 것은 내 IDE가 해결되지 수 있다는 것입니다 (당신이 프로듀서를 사용하는 경우 또는 생산자) 당신이 FlinkKafkaConsumer08보다는 FlinkKafkaConsumer를 사용하고 있는지 확인 FlinkKafkaConsumer08,하지만 빌드 도구를 사용하여 컴파일하고 올바르게 실행됩니다.

관련 문제