PyFlink 作业在 Yarn Application 上无法找到 Python 脚本的原因是什么?

pyflink作业在yarn application上找不到python脚本的排查指南

本文分析了PyFlink作业提交到Yarn Application时,找不到Python脚本的常见问题,并提供了详细的排查步骤。 问题表现为使用flink run-application命令提交PyFlink作业时,出现[errno 2] no such file or directory错误,提示找不到Python脚本。

PyFlink 作业在 Yarn Application 上无法找到 Python 脚本的原因是什么?

问题重现:

用户使用以下命令提交PyFlink作业:

立即学习“Python免费学习笔记(深入)”;

  1. ./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

登录后复制

结果报错:

  1. 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作业则成功:

  1. ./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://nameservice1/pyflink/wc2.py路径的准确性。使用HDFS命令行工具(例如hdfs dfs -ls)验证该文件是否存在,并检查路径拼写是否正确。

验证Python解释器路径: 确认pyflink181.zip/pyflink181/bin/python路径下的Python解释器是否存在且可执行。 解压pyflink181.zip文件,检查bin/python是否存在,并尝试手动执行该解释器。

检查文件权限: 确保Flink作业在Yarn上的运行用户拥有访问hdfs://nameservice1/pyflink/wc2.py文件的权限。使用HDFS命令行工具检查文件权限,并根据需要修改权限。

检查PyFlink和Flink版本兼容性: 确保使用的PyFlink版本与Flink版本兼容。查看PyFlink和Flink的官方文档,确认版本匹配。不兼容的版本可能会导致此类问题。

检查Yarn配置: 检查Yarn的配置,特别是与Python相关的配置。 确保Yarn环境能够正确地处理Python作业。这可能需要检查Yarn的日志文件以查找更多线索。

检查-Pyarch参数: 确保-Pyarch参数指向的PyFlink包路径正确,并且该包包含必要的Python依赖项。

使用绝对路径: 尝试使用Python脚本的绝对HDFS路径,而不是相对路径,以排除任何路径解析问题。

通过系统地检查以上几个方面,可以有效地定位并解决PyFlink作业在Yarn Application上找不到Python脚本的问题。 记住仔细检查每个步骤,并记录下你的发现,以便更好地理解问题根源。

以上就是PyFlink 作业在 Yarn Application 上无法找到 Python 脚本的原因是什么?的详细内容,更多请关注【创想鸟】其它相关文章!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

点点赞赏,手留余香

给TA打赏
共0人
还没有人赞赏,快来当第一个赞赏的人吧!
    编程技术

    在Java中如何在学生ID重复时停止后续代码的执行?

    2025-4-2 14:19:06

    编程技术

    后端新手应该选择Maven还是IntelliJ IDEA来管理Java项目?为什么不使用另一个?

    2025-4-2 14:19:15

    0 条回复 A文章作者 M管理员
    欢迎您,新朋友,感谢参与互动!
      暂无讨论,说说你的看法吧
    个人中心
    购物车
    优惠劵
    今日签到
    私信列表
    搜索