如何在提交申请时指定依赖 jar

  • 本文关键字:依赖 jar 提交 apache-flink
  • 更新时间 :
  • 英文 :


>我使用以下脚本提交 flink 应用程序,

flink run -m yarn-cluster -c com.my.flink.learningflink.FlinkToMySQL -yn 4 -ys 1 -j /tmp/learing.flink.1.7.1-0.1.jar

我的类 FlinkToMySQL 在 learing.flink.1.7.1-0.1.jar 中,但我的应用程序也需要依赖于 mysql jar,我如何指定 mysql jar 和其他依赖 jar。

另外,我使用以下脚本尝试了-yt选项

flink run -m yarn-cluster -c com.my.flink.learningflink.FlinkToMySQL -yn 4 -ys 1 -yt /tmp/mysql-connector-java-5.1.45.jar -j /tmp/learing.flink.1.7.1-0.1.jar

,它仍然抱怨找不到合适的驱动程序(在我的本地 IDE 中运行良好(。

谢谢。

一般来说,Flink 支持多种方式来发布用户代码 jar:

  • 构建包含所有用户代码依赖项的 uber-jar
  • 将依赖项放入传送到群集的FLINK_HOME/lib
  • 使用
  • Yarn 时,使用-yt指定应传送到集群并添加到系统类路径的其他文件

使用 maven 构建你的 jar 作为"带有依赖项的 jar",然后部署该 jar。

我的 maven 构建定义如下所示:

<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass></mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<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.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>

相关内容

  • 没有找到相关文章

最新更新