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

+0

是在流水流或在红移你的错误?看起来你在发布事件之前没有创建流'csvtoredshiftstream'。我没有使用流水,我猜kinesis-agent将事件收集到流水流中,但问题是流不存在。如果是这样,先尝试创建流,然后发布一个'CreateStreamRequest createStreamRequest = new CreateStreamRequest()。withStreamName(“csvtoredshiftstream”)'。 – prayagupd

+0

谢谢@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” } ] } –

谢谢@peter,

  1. 我能够使用以下方式在指定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“}]}} -

  2. 此外,对于Kinesis Streams按预期工作,还需要在与Streams相同的区域创建S3 bucket。

如果Stream在West-2区域创建,S3 bucket也应该在同一个区域创建。

感谢&问候, Srivignesh KN