【发布时间】:2017-07-22 22:22:57
【问题描述】:
我已经构建了一个 Kinesis Firehose 流来将数据推送到 redshift,并正在尝试使用 kinesis 代理从 EC2 实例推送数据。
Firehose Stream 能够解析记录,但无法识别 Firehose 流,出现以下 java 错误。
com.amazon.kinesis.streaming.agent.tailing.AsyncPublisher
[ERROR] AsyncPublisher[kinesis:csvtoredshiftstream:/tmp/redshift.log*]:RecordBuffer
(id=2,records=2,bytes=45) Retriable send error (com.amazonaws.services.kinesis.model.ResourceNotFoundException:
Stream csvtoredshiftstream under account xyz not found.
(Service: AmazonKinesis; Status Code: 400;
Error Code: ResourceNotFoundException;
Request ID: f4a63623-9a15-b2f8-a597-13b478c81bbc)). Will retry.
Request your pointers to identify and resolve the issue.
问候, 斯里维涅什 KN
【问题讨论】:
-
您的错误是在 Firehose 流上还是在 Redshift 上?似乎您在发布事件之前没有创建流
csvtoredshiftstream。我没有使用过 firehose,我猜 kinesis-agent 会将事件收集到 firehose 流中,但问题是流不存在。如果是这样,请先尝试创建流发布CreateStreamRequest createStreamRequest = new CreateStreamRequest().withStreamName("csvtoredshiftstream")。 -
谢谢@peter,我能够通过以下方式在 agent.json 中为 firehose 事件指定输入来克服错误。 {“cloudwatch.emitMetrics”:真,“kinesis.endpoint”:“”,“firehose.endpoint”:“firehose.us-west-2.amazonaws.com”,“流”:[{“filePattern”:“/ tmp/s3streaming.*”,“deliveryStream”:“S3TestingStream”,“partitionKeyOption”:“RANDOM”},{“filePattern”:“/tmp/app.log*”,“deliveryStream”:“yourdeliverystream”}]}
标签: amazon-ec2 amazon-kinesis amazon-kinesis-firehose amazon-kinesis-kpl amazon-kinesis-agent