我正在为我们计划部署的基于Flink的系统使用AWS EMR进行原型设计。我的群集具有以下版本:
Release label: emr-5.10.0
Hadoop distribution: Amazon 2.7.3
Applications: Flink 1.3.2
在亚马逊提供的文档中:Amazon flink documentation
和Flink的文档:Apache flink documentation
都直接使用S3资源作为具有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文件复制到本地主节点,然后使用本地路径引用它。虽然这显然有效,但我宁愿让原生S3集成工作。
我也尝试使用s3a
文件系统并获得相同的结果。
答案 0 :(得分:0)
您需要从s3下载jar,以便在类路径中可用。
aws s3 cp s3://mybucket/myapp.jar myapp.jar
然后运行run -m yarn-cluster myapp.jar