apache-flink - 获取服务:AmazonKinesis;状态码:502 使用 apache-flink 和 localstack Kinesis
问题描述
我的本地设置包括local apache-flink
(通过 brew 安装)并localstack
运行 Kinesis 服务。
我的 docker-compose 有
localstack:
image: localstack/localstack:0.10.7
environment:
- SERVICES=kinesis
ports:
- "4568:4568"
和我的 Kinesis 消费者:
kinesisConsumerConfig.setProperty(ConsumerConfigConstants.AWS_ACCESS_KEY_ID, "123");
kinesisConsumerConfig.setProperty(ConsumerConfigConstants.AWS_SECRET_ACCESS_KEY, "123");
kinesisConsumerConfig.setProperty(ConsumerConfigConstants.AWS_ENDPOINT, "http://localhost:4568");
但是当我运行 Flink 程序时,我得到了这个错误:
原因:org.apache.flink.kinesis.shaded.com.amazonaws.services.kinesis.model.AmazonKinesisException:null(服务:AmazonKinesis;状态代码:502;错误代码:null;请求 ID:null)
仅在使用时发生localstack
。如果我在我的 AWS 账户上连接到我的 Kinesis 流,它就可以完美运行。
解决方案
在将 FlinkKinesisConsumer 添加为源之前添加这些行:
System.setProperty("com.amazonaws.sdk.disableCbor", "true") System.setProperty("org.apache.flink.kinesis.shaded.com.amazonaws.sdk.disableCbor", "true")
这与导出 ENV 变量的效果相同,但在代码中使用它可以减少设置环境所花费的时间。
推荐阅读
- powershell - 从 cmd 打开用户变量位置
- c++ - 创建一个带有随机数的向量
- javascript - 模拟树上的点击 (x,y)
- java - 如何在 Fitnesse 测试用例中设置类文件的相对路径
- css - CSS 属性 cursor:pointer 在一定的窗口宽度下工作,同时在其他窗口宽度上消失
- c# - @Html.EditorFor asp.net 核心不适用于文件
- node.js - Uncaught SyntaxError: Unexpected token < for GET requests in production mode
- r - dplyr摘要r中的NA变量
- c# - 将 IWrapTestMethod 属性应用于整个夹具?
- javascript - Prevent content jumping on position change to fixed