我正在使用一种名为Localstack的产品在本地模拟AmazonS3,它充当Flink作业的流文件接收器。
在运行日志中,我可以看到Flink无视Localstack,并试图联系AmazonS3。
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
?
您的配置几乎正确,使用localstack:时需要添加http
s3.endpoint: http://localhost:4566
也许可以尝试使用额外的伪秘密作为环境变量:
AWS_ACCESS_KEY_ID=foo
AWS_SECRET_ACCESS_KEY=bar