我正在原型分类使用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