【发布时间】:2021-10-12 08:36:16
【问题描述】:
显然 Flink 1.14.0 在以编程方式设置 S3 选项时无法正确转换它们。我正在创建一个这样的本地环境来连接到本地 MinIO 实例:
val flinkConf = new Configuration()
flinkConf.setString("s3.endpoint", "http://127.0.0.1:9000")
flinkConf.setString("s3.aws.credentials.provider", "org.apache.hadoop.fs.s3a.AnonymousAWSCredentialsProvider")
val env = StreamExecutionEnvironment.createLocalEnvironmentWithWebUI(flinkConf)
然后StreamingFileSink 失败并出现大量堆栈跟踪,其中最相关的消息是Caused by: org.apache.hadoop.fs.s3a.auth.NoAuthWithAWSException: No AWS Credentials provided by SimpleAWSCredentialsProvider EnvironmentVariableCredentialsProvider InstanceProfileCredentialsProvider : com.amazonaws.SdkClientException: Failed to connect to service endpoint: ,这意味着 Hadoop 尝试枚举所有凭据提供程序,而不是使用配置中的一组。我做错了什么?
【问题讨论】:
标签: hadoop amazon-s3 apache-flink flink-streaming