0

J'ai créé un flux Kinesis Firehose pour transférer les données en redshift et j'essaie de transmettre des données à partir d'une instance EC2 à l'aide de l'agent kinésis. Firehose Stream est en mesure d'analyser les enregistrements, mais pas d'identifier les flux de feu reçoivent l'erreur java suivante.L'agent Kinesis n'envoie pas d'enregistrements au flux

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. 

Cordialement, Srivignesh KN

+0

est votre erreur sur le Firehose-stream ou sur le redshift? Il semble que vous n'avez pas créé le flux 'csvtoredshiftstream' avant de publier les événements. Je n'ai pas utilisé firehose, je devine kinesis-agent recueille les événements dans le flux de feu, mais le problème est que le flux n'existe pas. Si c'est le cas, essayez de créer un flux en postant un 'CreateStreamRequest createStreamRequest = new CreateStreamRequest(). AvecStreamName (" csvtoredshiftstream ")'. – prayagupd

+0

Merci @peter, j'ai été capable de surmonter l'erreur d'utilisation en spécifiant les entrées dans le fichier agent.json de la manière suivante pour les événements firehose. { "cloudwatch.emitMetrics": true, "kinesis.endpoint": "", "firehose.endpoint": "firehose.us-west-2.amazonaws.com", "flux": [{ "filePattern": "/tmp/s3streaming.*", "deliveryStream": "S3TestingStream", "partitionKeyOption": "RANDOM" }, { "filePattern": "/tmp/app.log*" , "deliveryStream": "yourdeliverystream" } ] } –

Répondre

0

Merci @peter,

  1. j'ai pu surmonter l'erreur à l'aide en spécifiant les entrées dans le agent.json de la manière suivante pour événements firehose. {"cloudwatch.emitMetrics": true, "kinesis.endpoint": "", "firehose.endpoint": "firehose.us-west-2.amazonaws.com", "flux": [{"filePattern": "/tmp/s3streaming "," deliveryStream ":" S3TestingStream "," partitionKeyOption ":" RANDOM "}, {" filePattern ":" /tmp/app.log "," deliveryStream ":" yourdeliverystream "}]} En outre, pour que les flux Kinesis fonctionnent comme prévu, le compartiment S3 doit également être créé dans la même région que celle des flux.

Si le flux est créé dans la région West-2, le compartiment S3 doit également être créé dans la même région.

Merci & Cordialement, Srivignesh KN