PyFlink on Yarn, Per-Job模式,如何增加多个外部依赖jar包?

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

PyFlink on Yarn, Per-Job模式,如何增加多个外部依赖jar包?

Zhizhao Shangguan

Hi:

  PyFlink on Yarn, Per-Job模式,如何增加多个外部依赖jar包?比如flink-sql-connector-kafkaflink-connector-jdbc等。

 

 环境信息

 Flink 版本:1.11.0

 Os: mac

 

 尝试了如下方案,遇到了一些问题

1、  按照官网cli说明[1]-j 可以指定jar包,但只能添加一个,后面在加-j不生效。

2、 按照依赖管理说明[2]:使用pipeline.jars,会报找不到文件的错误

配置信息

t_env.get_config().get_configuration().set_string("pipeline.jars", "file:///path/flink-sql-connector-kafka_2.11-1.11.0.jar;file:///path/flink-connector-jdbc_2.11-1.11.0.jar;file:///path/mysql-connector-java-5.1.38.jar")

 

启动命令

# flink run -m yarn-cluster -pyarch venv.zip -pyexec venv.zip/venv/bin/Python -py StreamingKafkaToMysql.py

 

错误信息

 

[1] https://ci.apache.org/projects/flink/flink-docs-release-1.11/ops/cli.html

[2] https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/python/table-api-users-guide/dependency_management.html

 

Reply | Threaded
Open this post in threaded view
|

Re: PyFlink on Yarn, Per-Job模式,如何增加多个外部依赖jar包?

Wei Zhong
Hi Zhizhao,

能检查一下'file://' 后面跟的是绝对路径吗?这个报错是因为对应的路径在本地磁盘上找不到导致的。

> 在 2021年1月6日,10:23,Zhizhao Shangguan <[hidden email]> 写道:
>
> Hi:
>   PyFlink on Yarn, Per-Job模式,如何增加多个外部依赖jar包?比如flink-sql-connector-kafka、flink-connector-jdbc等。
>  
>  环境信息
>  Flink 版本:1.11.0
>  Os: mac
>  
>  尝试了如下方案,遇到了一些问题
> 1、  按照官网cli说明[1]:-j 可以指定jar包,但只能添加一个,后面在加-j不生效。
> 2、 按照依赖管理说明[2]:使用pipeline.jars,会报找不到文件的错误
> 配置信息
> t_env.get_config().get_configuration().set_string("pipeline.jars", "file:///path/flink-sql-connector-kafka_2.11-1.11.0.jar;file:///path/flink-connector-jdbc_2.11-1.11.0.jar;file:///path/mysql-connector-java-5.1.38.jar <file:///path/flink-sql-connector-kafka_2.11-1.11.0.jar;file:///path/flink-connector-jdbc_2.11-1.11.0.jar;file:///path/mysql-connector-java-5.1.38.jar>")
>  
> 启动命令
> # flink run -m yarn-cluster -pyarch venv.zip -pyexec venv.zip/venv/bin/Python -py StreamingKafkaToMysql.py
>  
> 错误信息
> <image001.png>
>  
> [1] https://ci.apache.org/projects/flink/flink-docs-release-1.11/ops/cli.html <https://ci.apache.org/projects/flink/flink-docs-release-1.11/ops/cli.html>
> [2] https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/python/table-api-users-guide/dependency_management.html <https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/python/table-api-users-guide/dependency_management.html>
Reply | Threaded
Open this post in threaded view
|

Re: PyFlink on Yarn, Per-Job模式,如何增加多个外部依赖jar包?

Zhizhao Shangguan
HI Wei Zhong,

  感谢您的回复!

  发现是软链的问题(lib目录下的jar包不能用软链),去掉后就可以了。
 


在 2021/1/6 上午11:06,“Wei Zhong”<user-zh-return-10455-sgzz127=[hidden email] 代表 [hidden email]> 写入:

    Hi Zhizhao,

    能检查一下'file://' 后面跟的是绝对路径吗?这个报错是因为对应的路径在本地磁盘上找不到导致的。

    > 在 2021年1月6日,10:23,Zhizhao Shangguan <[hidden email]> 写道:
    >
    > Hi:
    >   PyFlink on Yarn, Per-Job模式,如何增加多个外部依赖jar包?比如flink-sql-connector-kafka、flink-connector-jdbc等。
    >  
    >  环境信息
    >  Flink 版本:1.11.0
    >  Os: mac
    >  
    >  尝试了如下方案,遇到了一些问题
    > 1、  按照官网cli说明[1]:-j 可以指定jar包,但只能添加一个,后面在加-j不生效。
    > 2、 按照依赖管理说明[2]:使用pipeline.jars,会报找不到文件的错误
    > 配置信息
    > t_env.get_config().get_configuration().set_string("pipeline.jars", "file:///path/flink-sql-connector-kafka_2.11-1.11.0.jar;file:///path/flink-connector-jdbc_2.11-1.11.0.jar;file:///path/mysql-connector-java-5.1.38.jar <file:///path/flink-sql-connector-kafka_2.11-1.11.0.jar;file:///path/flink-connector-jdbc_2.11-1.11.0.jar;file:///path/mysql-connector-java-5.1.38.jar>")
    >  
    > 启动命令
    > # flink run -m yarn-cluster -pyarch venv.zip -pyexec venv.zip/venv/bin/Python -py StreamingKafkaToMysql.py
    >  
    > 错误信息
    > <image001.png>
    >  
    > [1] https://ci.apache.org/projects/flink/flink-docs-release-1.11/ops/cli.html <https://ci.apache.org/projects/flink/flink-docs-release-1.11/ops/cli.html>
    > [2] https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/python/table-api-users-guide/dependency_management.html <https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/python/table-api-users-guide/dependency_management.html>