Pyflink在yarn Application中找不到python腳本的排查指南
使用PyFlink將作業提交到Yarn Application時,經常會遇到找不到python腳本的錯誤。本文分析一個具體案例,用戶提交PyFlink作業時報錯找不到wc2.py腳本。
問題重現
用戶使用以下命令提交PyFlink作業:
./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
而提交Java作業則成功:
立即學習“Python免費學習筆記(深入)”;
./flink run-application -t yarn-application -djobmanager.memory.process.size=1024m -dtaskmanager.memory.process.size=1024m -dyarn.application.name=flinkcdctest -dyarn.provided.lib.dirs="hdfs://nameservice1/pyflink/flink-dist-181" hdfs://nameservice1/pyflink/statemachineexample.jar
這表明HDFS配置正確。
問題排查步驟
-
驗證Python腳本路徑: 使用HDFS命令驗證hdfs://nameservice1/pyflink/wc2.py是否存在且可訪問:
hdfs dfs -ls hdfs://nameservice1/pyflink/wc2.py
-
檢查權限: 確認Yarn Application運行用戶對該Python腳本擁有讀取權限。
-
Python環境驗證: 仔細檢查-pyclientexec和-pyexec參數指定的Python解釋器路徑是否正確,并確保pyflink181.zip中的Python環境配置完整且有效。
-
版本兼容性: 確保PyFlink版本與Flink版本兼容。版本不兼容可能導致腳本無法正確加載。
-
增強日志: 提高日志級別以獲取更多調試信息:
./flink run-application -t yarn-application -Dlog4j.logger.org.apache.flink.client.python=DEBUG # 其他參數...
通過以上步驟,可以系統地排查PyFlink作業在Yarn Application中找不到Python腳本的問題,并找到根本原因。 建議逐一檢查,并根據日志信息進行更精細的排查。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦