[Big Data] Hortonworks : utilisation d’un cluster Kafka avec HDP 2.x

Ce billet montre comment lancer et utiliser un cluster Kafka sur HDP, la plateforme Hadoop de Hortonworks.

Pour en savoir plus sur :

  • Kafka, vous pouvez jeter un coup d’œil par ici.
  • Hortonworks et HDP, vous pouvez aller ici.

Avant de commencer…

On supposera qu’un environnement HDP a déjà été installé (via la Sandbox, par exemple, comme vu ici). L’OS de la VM est Linux CentOS.

Activation du service Kafka

Connectez-vous à l’interface Ambari, en tapant, dans un navigateur Web, l’adresse suivante : http://<Adresse_IP_générée_durant_l’installation_de_la_Sandbox> :8080 (soit, dans notre cas : http://192.168.86.128:8080). Ou à la place de l’IP, le nom d’hôte sandbox.hortonworks.com ou sandbox).

Après authentification, allez dans le service Kafka, accessible via l’explorateur de services à gauche de l’interface d’accueil :


Dans l’interface d’administration de Kafka, cliquez sur Service Actions, puis sélectionnez Start :


Confirmez ensuite le lancement :


Si tout va bien :


Vérification du fonctionnement de Kafka

A partir de l’onglet Configs de l’interface Ambari dédiée à Kafka, il est possible de vérifier la configuration de chaque processus participant au fonctionnement du cluster Kafka. Dans notre contexte (onglet Configs), on doit s’assurer que :

  • Le ZooKeeper tourne bien.

Cela peut être vérifié au sein du service ZooKeeper d’Ambari :


En cas de non-démarrage du ZooKeeper, il est possible de procéder de la même manière que pour Kafka :


Pour rappel, le ZooKeeper permet de coordonner les actions entre le Kafka Broker et ses consommateurs. Par défaut, il écoute sur le port 2181 (qui peut être changé manuellement, s’il est occupé par un autre processus). Sa configuration détaillée de base peut également être consultée et vérifiée au sein du service ZooKeeper d’Ambari :


  • Le répertoire local des logs Kafka est bien /kafka/logs, le port d’écoute des connexions clientes configuré à 6667
    et que le ZooKeeper est bien connecté à notre SandBox (section General)
    :


Création et lancement de messages sur le cluster Kafka

Nous allons accéder au cluster en mode SSH (ssh root@192.168.86.128 –p 2222, dans notre cas) via un client indépendant (PuTTY, KiTTY,…) ou la VM de la Sandbox.

Nous allons créer et lancer un message à des consommateurs.

  • Accès au répertoire de Kafka.
cd /usr/hdp/&amp;amp;amp;amp;lt;hdp_version&amp;amp;amp;amp;gt;/kafka


  • Création d’un topic appelé « tiltest », avec une seule partition et un seul réplicat :
bin/kafka-topics.sh --create --zookeeper 192.168.86.128:2181 --replication-factor 1 --partitions 1 --topic tiltest


  • Vérification de la bonne création du topic :
bin/kafka-topics.sh --list --zookeeper 192.168.86.128:2181


  • Envoi de quelques messages.

Kafka prend en entrée un fichier ou un texte et l’envoie comme message au cluster. Par défaut, chaque ligne (du fichier ou du texte) est envoyée comme message séparé. La commande ci-dessous va lancer le producteur, avec quelques phrases faisant office de messages à envoyer :

bin/kafka-console-producer.sh --broker-list 192.168.86.128:9092 --topic tiltest
At the heart of data
Always at the heart of data


Les propriétés du cluster Kafka (dont le port d’écoute des connexions clientes) peuvent être consultées ou modifiées au sein d’Ambari (section Configs du service Kafka, comme vu plus haut) ou dans le fichier de configuration idoine (<hdp_version> correspond à la version cible de HDP) :

vi /usr/hdp/<hdp_version>/kafka/config/server.properties
  • Lancement d’un consommateur.

Récupération des messages du topic tiltest depuis le début :

bin/kafka-console-consumer.sh --zookeeper 192.168.86.128:2181 --topic tiltest --from-beginning


On voit que le consommateur créé a bien réceptionné les messages envoyés par le producteur.

Pour aller plus loin…

Jetez un coup d’œil ici. D’autres articles autour du Big Data et de HDP sont accessibles et continuerons à y être pondus. Vous pouvez également consulter la riche documentation d’Apache Kafka (avec un exemple de test multi-brokers) ici.


Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s