我使用以下命令运行statefulfun2.0basichello作业
./bin/flink run-c org.apache.flink.statefun.flink.core.statefulfunctionsjob./stateful-sun-hello-java-1.0-snapshot-jar-with-dependencies.jar
我的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>org.example</groupId>
<artifactId>stateful-sun-hello-java</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>3.6.1</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>statefun-sdk</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>statefun-flink-distribution</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>statefun-kafka-io</artifactId>
<version>2.0.0</version>
</dependency>
</dependencies>
<build>
<defaultGoal>clean generate-sources compile install</defaultGoal>
<plugins>
<!-- compile proto file into java files. -->
<plugin>
<groupId>com.github.os72</groupId>
<artifactId>protoc-jar-maven-plugin</artifactId>
<version>3.6.0.1</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<includeMavenTypes>direct</includeMavenTypes>
<inputDirectories>
<include>src/main/protobuf</include>
</inputDirectories>
<outputTargets>
<outputTarget>
<type>java</type>
<outputDirectory>src/main/java</outputDirectory>
</outputTarget>
<outputTarget>
<type>grpc-java</type>
<pluginArtifact>io.grpc:protoc-gen-grpc-java:1.15.0</pluginArtifact>
<outputDirectory>src/main/java</outputDirectory>
</outputTarget>
</outputTargets>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<!-- get all project dependencies -->
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<!-- MainClass in mainfest make a executable jar -->
<archive>
<manifest>
<mainClass>org.apache.flink.statefun.flink.core.StatefulFunctionsJob</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<!-- bind to the packaging phase -->
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
它给出了以下例外
程序已完成,但出现以下异常:
org.apache.flink.client.program.programinvocationexception:主方法导致错误:无效配置:classloader.parent-first-patterns.additional;必须包含org.apache.flink.statefun、org.apache.kafka、,com.google.protobuf位于org.apache.flink.client.program.packagedprogram.callmain方法(packagedprogram。java:335)在org.apache.flink.client.program.packagedprogram.invokeinteractivemodeforexecution(packagedprogram。java:205)在org.apache.flink.client.clientutils.executeprogram(clientutils。java:138)在org.apache.flink.client.cli.clifrontend.executeprogram(clifrontend。java:662)在org.apache.flink.client.cli.clifrontend.run(clifrontend。java:210)在org.apache.flink.client.cli.clifrontend.parseparameters(clifrontend。java:893)在org.apache.flink.client.cli.clifrontend.lambda$main$10(clifrontend。java:966)在org.apache.flink.runtime.security.noopsecuritycontext.runsecuried(noopsecuritycontext。java:30)位于org.apache.flink.client.cli.clifrontend.main(clifrontend。java:966
请建议如何解决这个问题。
2条答案
按热度按时间ny6fqffe1#
我们需要加这个jar
r3i60tvu2#
必须将以下配置参数添加到flink-conf.yaml文件中。
https://ci.apache.org/projects/flink/flink-statefun-docs-release-2.0/deployment-and-operations/packaging.html#flink-官方文件说:
运行statefun应用程序严格要求以下配置。
classloader.parent-first-patterns.additional:org.apache.flink.statefun;org.apache.kafka;com.google.protobuf