我正在使用名为Localstack的产品在本地模拟Amazon S3,该产品充当Flink作业的流文件接收器。
在运行日志中,我可以看到Flink忽略了Localstack并尝试联系Amazon S3。
Received error response: org.apache.flink.fs.s3base.shaded.com.amazonaws.services.s3.model.AmazonS3Exception: Service Unavailable
Retrying Request: HEAD https://s3.amazonaws.com /testBucket/
在flink-conf.yaml中,我指定了以下配置属性:
s3.impl: org.apache.hadoop.fs.s3a.S3AFileSystem
s3.buffer.dir: ./tmp
s3.endpoint: localhost:4566
s3.path.style.access: true
s3.access-key: ***
s3.secret-key: ***
为什么Flink会忽略s3.endpoint
?
答案 0 :(得分:1)
您的配置几乎是正确的,使用 localstack 时需要添加 http
:
s3.endpoint: http://localhost:4566
也许可以尝试使用额外的虚拟秘密作为环境变量:
AWS_ACCESS_KEY_ID=foo
AWS_SECRET_ACCESS_KEY=bar