如何解決Flink提交PyFlink作業(yè)到Y(jié)arn Application時找不到Python任務(wù)腳本的問題?

如何解決Flink提交PyFlink作業(yè)到Y(jié)arn Application時找不到Python任務(wù)腳本的問題?

flink提交PyFlink作業(yè)到yarn時找不到python腳本的解決方案

在使用Flink提交PyFlink作業(yè)到Y(jié)arn時,如果遇到找不到python腳本的錯誤,通常是由于Python腳本路徑配置錯誤或Python環(huán)境設(shè)置問題導(dǎo)致的。本文將分析并解決此問題。

您使用了以下命令提交PyFlink作業(yè):

./flink run-application -t yarn-application  -dyarn.application.name=flinkcdctestpython  -dyarn.provided.lib.dirs="hdfs://nameservice1/pyflink/flink-dist-181"  -pyarch hdfs://nameservice1/pyflink/pyflink181.zip  -pyclientexec pyflink181.zip/pyflink181/bin/python  -pyexec pyflink181.zip/pyflink181/bin/python  -py hdfs://nameservice1/pyflink/wc2.py

錯誤信息如下:

2024-05-24 16:38:02,030 info org.apache.flink.client.python.pythondriver [] - pyflink181.zip/pyflink181/bin/python: can't open file 'hdfs://nameservice1/pyflink/wc2.py': [errno 2] no such file or directory

該錯誤表明Flink找不到指定的Python腳本wc2.py。然而,提交Java作業(yè)時HDFS配置正常,說明HDFS配置本身沒有問題。

立即學(xué)習(xí)Python免費學(xué)習(xí)筆記(深入)”;

問題可能出在以下幾個方面:

  1. Python腳本路徑: 仔細(xì)檢查hdfs://nameservice1/pyflink/wc2.py路徑是否正確,以及wc2.py文件是否存在于該路徑下。使用HDFS命令驗證:

    hdfs dfs -ls hdfs://nameservice1/pyflink/wc2.py
  2. Python環(huán)境配置: -pyclientexec和-pyexec參數(shù)指定了Python執(zhí)行環(huán)境。確保pyflink181.zip中的Python環(huán)境配置正確,并且可以訪問HDFS。建議將參數(shù)直接指向HDFS上的Python環(huán)境路徑:

    -pyclientexec hdfs://nameservice1/pyflink/pyflink181.zip/pyflink181/bin/python -pyexec hdfs://nameservice1/pyflink/pyflink181.zip/pyflink181/bin/python
  3. 權(quán)限問題: 確保Flink作業(yè)具有訪問HDFS上Python腳本文件的權(quán)限。檢查文件權(quán)限:

    hdfs dfs -ls -h hdfs://nameservice1/pyflink/wc2.py
  4. Flink和PyFlink版本兼容性: 確認(rèn)Flink版本與PyFlink版本兼容。版本不匹配可能導(dǎo)致問題。

通過以上步驟排查,您應(yīng)該能夠找到并解決Flink提交PyFlink作業(yè)時找不到Python腳本的問題。如果問題仍然存在,請檢查Flink和PyFlink的日志文件,尋找更多線索。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊13 分享