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

Lecture de 4 minute(s)
0

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.

Ré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.


Informations connexes

Écriture dans votre flux de données Kinesis à l'aide du KPL

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 4 ans