0

我已經構建了一個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」 } ] } –

回答

0

謝謝@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

相關問題