Comment placer des enregistrements de données dans un flux de données Kinesis à l'aide du KPL ?

Dernière mise à jour : 16/10/2020

Je souhaite écrire et placer des enregistrements de données dans un flux de données Kinesis à l'aide de la bibliothèque Amazon Kinesis Producer (KPL). Comment dois-je procéder ?

Brève description

Pour placer un enregistrement dans un flux de données Kinesis à l'aide du KPL, vous devez répondre aux exigences suivantes :

  • Vous disposez d'une instance Linux Amazon Elastic Compute Cloud (Amazon EC2) en cours d'exécution.
  • Attacher un rôle AWS Identity and Access Management (IAM) à votre instance.
  • la stratégie KinesisFullAccess est attachée au rôle IAM de l'instance.

Solution

Pour insérer des enregistrements dans un flux de données Kinesis à l'aide de la KPL :

1.    Connectez-vous à votre instance Linux.

2.    Installez la dernière version du package de développeur OpenJDK 8 :

sudo yum install java-1.8.0-openjdk-devel

3.    Vérifiez que Java est installé :

java -version

Voici un exemple de sortie attendue :

java version "1.7.0_181"
OpenJDK Runtime Environment (amzn-2.6.14.8.80.amzn1-x86_64 u181-b00)
OpenJDK 64-Bit Server VM (build 24.181-b00, mixed mode)

4.    Exécutez les commandes suivantes pour définir Java 1.8 comme fournisseur java et javac par défaut :

sudo /usr/sbin/alternatives --config java 
sudo /usr/sbin/alternatives --config javac

5.    Ajoutez un référentiel avec un package Apache Maven :

sudo wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo

6.    Configurez le numéro de version pour les packages Maven :

sudo sed -i s/\$releasever/6/g /etc/yum.repos.d/epel-apache-maven.repo

7.    Utilisez yum pour installer Maven :

sudo yum install -y apache-maven

8.    Vérifiez que Maven est installé correctement :

mvn -version

Voici un exemple de sortie attendue :

Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T07:58:13Z)
Maven home: /usr/share/apache-maven
Java version: 1.7.0_181, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.181.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.14.33-51.37.amzn1.x86_64", arch: "amd64", family: "unix"

9.    Installez git, puis téléchargez la KPL depuis Amazon Web Services - Labs:

sudo yum install git
git clone https://github.com/awslabs/amazon-kinesis-producer

10.    Ouvrez le répertoire amazon-kinesis-producer/java/amazon-kinesis-producer-sample/ puis listez les fichiers :

cd amazon-kinesis-producer/java/amazon-kinesis-producer-sample/
ls
default_config.properties  pom.xml  README.md  src  target

11.    Exécutez une commande similaire à la suivante pour créer un flux de données Kinesis :

aws kinesis create-stream --stream-name kinesis-kpl-demo --shard-count 2

Pour plus d'informations sur le nombre de partitions nécessaires, consultez Redistribution, mise à l'échelle et traitement parallèle.

12.    Exécutez Répertorier les flux pour vérifier que le flux a bien été créé :

aws kinesis list-streams

13.    Ouvrez le fichier SampleProducer.java sur le référentiel GitHub Amazon Web Services - Labs, puis modifiez les champs suivants :
Pour public static final String STREAM_NAME_DEFAULT, saisissez le nom du flux de données Kinesis précédemment créé.
Pour public static final String REGION_DEFAULT, saisissez le nom de votre région.

Voici un exemple :

cd src/com/amazonaws/services/kinesis/producer/sample
vi SampleProducerConfig.java

public static final String STREAM_NAME_DEFAULT = "kinesis-kpl-demo";
public static final String REGION_DEFAULT = "us-east-1";

14.    Exécutez la commande suivante dans le répertoire amazon-kinesis-producer-sample pour autoriser Maven à télécharger toutes les dépendances du répertoire :

mvn clean package

15.    Exécutez la commande suivante dans le répertoire amazon-kinesis-producer-sample pour exécuter le producteur et envoyer des données dans le flux de données Kinesis :

mvn exec:java -Dexec.mainClass="com.amazonaws.services.kinesis.producer.sample.SampleProducer"

16.    Consultez le graphique Données entrantes (nombre) sous l'onglet Surveillance de la console Kinesis pour vérifier le nombre d'enregistrements envoyés au flux.

Remarque : le nombre d'enregistrements peut être inférieur au nombre d'enregistrements envoyés au flux de données. Ce nombre d'enregistrements inférieur peut se produire car le KPL utilise l’aggrégation.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?