Kinesis代理不发送记录到流
问题描述:
我已经构建了一个Kinesis Firehose流来将数据推送到红移,并试图使用kinesis代理从EC2实例推送数据。Kinesis代理不发送记录到流
Firehose Stream能够解析记录,但不能识别流水线正在收到以下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.
问候, Srivignesh KN
答
谢谢@peter,
我能够使用以下方式在指定agent.json为输入,以克服错误流水事件。 {“cloudwatch.emitMetrics”:true,“kinesis.endpoint”:“”,“firehose.endpoint”:“firehose.us-west-2.amazonaws.com”,“flows”:[{“filePattern”:“/tmp/s3streaming。“,”deliveryStream“:”S3TestingStream“,”partitionKeyOption“:”RANDOM“},{”filePattern“:”/tmp/app.log“,”deliveryStream“:”yourdeliverystream“}]}} -
此外,对于Kinesis Streams按预期工作,还需要在与Streams相同的区域创建S3 bucket。
如果Stream在West-2区域创建,S3 bucket也应该在同一个区域创建。
感谢&问候, Srivignesh KN
是在流水流或在红移你的错误?看起来你在发布事件之前没有创建流'csvtoredshiftstream'。我没有使用流水,我猜kinesis-agent将事件收集到流水流中,但问题是流不存在。如果是这样,先尝试创建流,然后发布一个'CreateStreamRequest createStreamRequest = new CreateStreamRequest()。withStreamName(“csvtoredshiftstream”)'。 – prayagupd
谢谢@peter,我可以通过以下面的方式在agent.json中指定流水事件来克服错误。 { “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” } ] } –