EMR 上的 Flink 无法从 "flink run" 命令访问 S3 存储桶



我正在原型分类使用AWS EMR用于我们计划部署的基于flink的系统。我的集群具有以下版本:

Release label: emr-5.10.0
Hadoop distribution: Amazon 2.7.3
Applications: Flink 1.3.2

在Amazon提供的文档中:Amazon Flink Documentation

和Flink的文档:Apache Flink文档

都直接使用S3 Resources作为具有s3://<bucket>/<file>模式的集成文件系统。我已经验证了所有正确的权限均设置了所有正确的权限,我可以使用AWS CLI将S3资源复制到主节点毫无问题,但是尝试使用S3中的JAR开始flink作业。

我正在执行以下步骤:

JAR location : command-runner.jar
Main class : None
Arguments : flink run -m yarn-cluster -yid application_1513333002475_0001 s3://mybucket/myapp.jar
Action on failure: Continue

总是失败的步骤

jar文件不存在:s3://mybucket/myapp.jar

我已经与AWS支持进行了交谈,他们建议将上一步复制到本地主节点,然后用本地路径引用它。虽然这显然可以起作用,但我宁愿让本机S3集成起作用。

我还尝试使用s3a文件系统并获得相同的结果。

您需要从S3下载JAR才能在ClassPath中可用。

aws s3 cp s3://mybucket/myapp.jar myapp.jar

然后运行run -m yarn-cluster myapp.jar

相关内容

  • 没有找到相关文章

最新更新