Centraliser une connexion Hadoop

Talend Real-time Big Data Platform Studio Guide utilisateur

EnrichVersion
6.4
EnrichProdName
Talend Real-Time Big Data Platform
task
Qualité et préparation de données
Création et développement
EnrichPlatform
Studio Talend

Configurer une connexion à une distribution Hadoop donnée dans le Repository vous permet d'éviter d'avoir à configurer cette connexion à chaque fois que vous souhaitez utiliser la même distribution Hadoop.

Vous devez tout d'abord définir une connexion Hadoop avant de pouvoir créer, à partir du nœud Hadoop cluster, les connexions de chaque élément de Hadoop comme HDFS, Hive ou Oozie.

Prérequis :

  • Vous devez avoir vérifié que la machine cliente sur laquelle est installé le Studio Talend peut reconnaître les noms d'hôtes des nœuds du cluster Hadoop à utiliser. Dans cet objectif, ajoutez les mappings des entrées adresse IP/nom d'hôte pour les services de ce cluster Hadoop dans le fichier hosts de la machine cliente.

    Par exemple, si le nom d'hôte du serveur du NameNode Hadoop est talend-cdh550.weave.local et son adresse IP est 192.168.x.x, l'entrée du mapping est la suivante 192.168.x.x talend-cdh550.weave.local.

  • Le cluster Hadoop à utiliser doit avoir été correctement configuré et être en cours de fonctionnement.

  • La perspective Integration est active.

  • Si vous devez vous connecter à MapR à partir du studio, assurez-vous d'avoir installé le client MapR sur la même machine que le studio et d'avoir ajouté la bibliothèque client de MapR dans la variable PATH de cette machine. D'après la documentation de MapR, la ou les librairies du client MapR correspondant à chaque OS peuvent être trouvées MAPR_INSTALL\ hadoop\hadoop-VERSION\lib\native. Par exemple, pour Windows, la bibliothèque est lib\MapRClient.dll dans le fichier Jar du client MapR. Pour plus d'informations, consultez la page suivante sur le site de MapR : http://www.mapr.com/blog/basic-notes-on-configuring-eclipse-as-a-hadoop-development-environment-for-mapr (en anglais).

Afin de créer une connexion Hadoop dans le Repository, procédez comme suit :

  1. Dans la vue Repository de votre studio, développez le nœud Metadata puis cliquez-droit sur Hadoop cluster.

  2. Sélectionnez Create Hadoop cluster dans le menu contextuel afin d'ouvrir l'assistant [Hadoop cluster connection].

  3. Renseignez les informations génériques du schéma, comme le nom, dans le champ Name et la Description puis cliquez sur Next pour ouvrir la fenêtre [Hadoop Configuration Import Wizard] vous permettant de sélectionner le mode manuel ou automatique pour configurer la connexion.

Configurer automatiquement la connexion à Hadoop

Ce mode automatique peut être uniquement appliqué aux distributions Hadoop officiellement supportées par le Studio, c'est-à-dire les distributions que vous pouvez trouver dans l'assistant [Hadoop Configuration Import Wizard].

  1. Dans la zone Distribution, sélectionnez la distribution Hadoop à utiliser et sa version.

  2. Sélectionnez la manière dont vous souhaitez paramétrer la configuration dans cet assistant d'import.

    • Retrieve configuration from Ambari or Cloudera : si vous utilisez un cluster Hortonworks Data Platform ou Cloudera CDH et que votre cluster contient sa propre plateforme de gestion : Hortonworks Ambari pour Hortonworks Data Platform et Cloudera manager pour Cloudera CDH, cochez cette case pour importer directement la configuration.

      Pour plus d'informations, consultez Récupérer la configuration depuis Ambari ou Cloudera.

    • Import configuration from local files : lorsque vous avez obtenu ou lorsque vous pouvez obtenir les fichiers de configuration (principalement les fichiers *-site.xml), par exemple, de l'administrateur de votre cluster Hadoop ou les télécharger directement du service de gestion de cluster basé Web, utilisez cette option pour importer les propriétés directement depuis ces fichiers.

      Pour plus d'informations, consultez Importer la configuration depuis des fichiers locaux.

Récupérer la configuration depuis Ambari ou Cloudera

Si vous pouvez accéder au service basé Web de gestion de votre cluster, c'est-à-dire Ambari pour Hortonworks ou Cloudera manager pour Cloudera, sélectionnez cette option Retrieve configuration from Ambari or Cloudera pour importer les informations de configuration directement depuis ce service de gestion.

Cette image montre un exemple de cet assistant pour récupérer la configuration.

Dans cet assistant, procédez comme suit :

  1. Dans la zone relatives aux informations d'authentification, saisissez votre identifiant et mot de passe pour accéder au service basé Web de gestion de votre cluster. Dans cet exemple, connectez-vous à Cloudera manager.

  2. Si le système de certificat a été configuré pour le service de gestion auquel vous devez vous connecter, cochez la case Use authentication pour activer les champs relatifs et renseignez-les à l'aide de votre fichier TrustStore.

    Si vous n'avez pas accès à ce fichier TrustStore, contactez l'administrateur du cluster.

    Hortonworks et Cloudera fournissent les informations relatives à la sécurité autour du service de gestion dans leur documentation. Vous pouvez trouver plus d'informations relatives à la documentation sur leur site Web :

  3. Si votre machine locale a des permissions d'accès à votre Ambari ou Cloudera Manager, cliquez sur le bouton Connect pour créer la connexion à Ambari ou Cloudera Manager à partir du Studio.

    Sinon, cochez la case Retrieve by Jobserver et sélectionnez votre Jobserver à utiliser pour récupérer les configurations de Cloudera Manager ou d'Ambari.

    Le Jobserver doit avoir accès à Cloudera Manager car les Jobs y sont exécutés.

    Le nom du cluster géré par ce service de gestion de cluster s'affiche dans la liste Discovered clusters.

  4. Cliquez sur le bouton Fetch afin de récupérer et lister les configurations des services de ce cluster dans cet assistant.

  5. Sélectionnez les services pour lesquels vous souhaitez importer les informations de configuration.

  6. Cliquez sur Finish.

    Les informations de configuration sont automatiquement renseignées dans l'étape suivante de l'assistant [Hadoop cluster connection].

  7. Dans cet assistant [Hadoop cluster connection], vérifiez que la case Use custom Hadoop configurations est cochée, afin d'assurer que la configuration complète importée est prise en compte. Si vous décochez cette case, le Studio utilise sa configuration Hadoop par défaut (sous forme d'un fichier .jar) au lieu de prendre en compte les paramètres supplémentaires explicitement configurés par vos soins dans l'assistant.

    Pour cette raison, il et important de cocher cette case et de vous assurer que votre configuration personnalisée écrase celle par défaut.

  8. Cliquez sur le bouton Check services afin de vérifier que le Studio peut se connecter aux services NameNode et ResourceManager spécifié dans cet assistant.

    Une boîte de dialogue s'ouvre pour indiquer le processus de vérification et le statut de connexion. Si elle affiche un échec de la connexion, vous devez vérifier et mettre à jour les informations de connexion définies dans l'assistant de connexion.

  9. Cliquez sur Finish pour valider les modifications.

Si vous avez besoin de plus d'informations concernant les champs auto-complétés dans cet assistant [Hadoop cluster connection], consultez Configurer manuellement la connexion

Importer la configuration depuis des fichiers locaux

Une fois que vous avez sélectionné Import configuration from local files dans l'assistant d'import, l'assistant suivant s'ouvre et vous permet de sélectionner les fichiers de configuration Hadoop (principalement des fichiers *-site.xml) à utiliser depuis la machine locale.

Dans cet assistant, procédez comme suit :

  1. Cliquez sur Browse... pour accéder au dossier dans lequel les fichiers de configuration locaux à utiliser sont stockés. Cliquez sur OK pour lister les configurations dans cet assistant.

    Il est recommandé de stocker ces fichiers de configuration avec un chemin d'accès rapide sur la machine locale.

    L'image suivante montre certains fichiers utilisés pour la configuration de HDFS, MapReduce et Yarn dans Cloudera. Ces fichiers d'exemple sont téléchargés et automatiquement générés par Cloudera manager.

  2. Dans la liste de configuration, sélectionnez les configurations à importer, par exemple celles pour HDFS et MAPREDUCE2, puis cliquez sur Finish.

    Les informations de configuration sont automatiquement renseignées dans l'étape suivante de l'assistant [Hadoop cluster connection].

  3. Dans cet assistant [Hadoop cluster connection], vérifiez que la case Use custom Hadoop configurations est cochée, afin d'assurer que la configuration complète importée est prise en compte. Si vous décochez cette case, le Studio utilise sa configuration Hadoop par défaut (sous forme d'un fichier .jar) au lieu de prendre en compte les paramètres supplémentaires explicitement configurés par vos soins dans l'assistant.

    Pour cette raison, il et important de cocher cette case et de vous assurer que votre configuration personnalisée écrase celle par défaut.

  4. Cliquez sur le bouton Check services pour vérifier que le Studio peut se connecter aux services NameNode et ResourceManager spécifiés dans cet assistant.

    Une boîte de dialogue s'ouvre pour indiquer le processus de vérification et le statut de connexion. Si elle indique un échec de connexion, vous devez vérifier et mettre à jour les informations de connexion définie dans l'assistant.

  5. Cliquez sur Finish afin de valider les modifications.

Si vous souhaitez plus de détails concernant les champs auto-complétés dans cet assistant [Hadoop cluster connection], consultez Configurer manuellement la connexion

Configurer manuellement la connexion

Même si l'import d'une configuration Hadoop donnée est efficace, il est possible que vous deviez configurer manuellement la connexion, dans certaines circonstances, par exemple si vous n'avez pas les configurations à importer sous la main.

Ce mode vous permet de vous connecter à une distribution Hadoop personnalisée. Pour plus d'informations, consultez Connexion à une distribution Hadoop personnalisée.

  1. Renseignez les champs disponibles selon la version sélectionnée.

    Notez que, parmi ces champs, les champs NameNode URI et Resource Manager) ont été automatiquement renseignés avec la syntaxe par défaut et le numéro de port correspondants à la distribution sélectionnée. Vous devez mettre à jour uniquement la partie dont vous avez besoin, selon la configuration du cluster Hadoop à utiliser. Pour plus d'informations concernant les différents champs à utiliser, consultez la liste suivante.

    Les champs peuvent être :

    • Namenode URI :

      Saisissez l'URI pointant vers la machine utilisée comme NameNode de la distribution Hadoop à utiliser.

      Le NameNode est le nœud maître d'un système Hadoop. Par exemple, si vous avez choisi une machine nommée machine1 comme NameNode d'une distribution Apache Hadoop, l'emplacement à saisir est hdfs://machine1:portnumber.

      Si vous utilisez une distribution MapR, vous pouvez simplement laisser maprfs:/// dans le champ. Le client MapR va gérer les informations à la volée lors de la création de la connexion. Le client MapR doit être correctement installé. Pour plus d'informations concernant la configuration d'un client MapR, consultez la page suivante de la documentation MapR : http://doc.mapr.com/display/MapR/Setting+Up+the+Client (en anglais).

    • Resource Manager :

      Saisisse l'URI pointant vers la machine utilisée comme service du gestionnaire de ressources (Resource Manager) de la distribution Hadoop à utiliser.

      Notez que, dans certaines anciennes versions des distributions Hadoop, vous devez configurer l'emplacement du service du JobTracker au lieu du service du gestionnaire de ressources.

      Vous devez configurer les adresses des services relatifs, comme l'adresse due Resourcemanager scheduler. Lorsque vous utilisez cette connexion dans un composant Big Data, comme le tHiveConnection, vous pouvez allouer de la mémoire aux calculs Map et Reduce et à l'ApplicationMaster de YARN dans la vue Advanced settings. Pour plus d'informations concernant le Resource Manager, son ordonnanceur et son ApplicationMaster, consultez la documentation de YARN pour votre distribution, par exemple à l'adresse suivante :

      http://hortonworks.com/blog/apache-hadoop-yarn-concepts-and-applications/.

    • Job history :

      Saisissez l'emplacement du serveur de JobHistory du cluster Hadoop à utiliser. Cela permet de stocker les méreiques du Job courant sur le serveur de JobHistory.

    • Staging directory :

      Saisissez le répertoire défini dans votre cluster Hadoop pour les fichiers temporaires créées par les programmes en cours d'exécution. Généralement, ce répertoire se trouve sous la propriété yarn.app.mapreduce.am.staging-dir dans les fichiers de configuration comme yarn-site.xml ou mapred-site.xml de votre distribution.

    • Use datanode hostname :

      Cochez cette case pour permettre au Job d'accéder aux nœuds de données (datanodes) via leurs noms d'hôtes. Cela permet de configurer la propriété dfs.client.use.datanode.hostname à true. Si cette connexion doit être utilisée par un Job se connectant à un système de fichiers S3N, cochez cette case.

    • Enable Kerberos security :

      Si vous accédez à une distribution Hadoop s'exécutant avec la sécurité Kerberos, cochez cette case, puis saisissez les noms des Principaux de Kerberos pour le NameNode dans le champ activé.

      Ces Principaux se trouvent dans les fichiers de configuration de votre distribution. Par exemple, dans une distribution CDH4, le Principal du Resource Manager est configuré dans le fichier yarn-site.xml et le Principal de Job History dans le fichier mapred-site.xml.

      Si vous devez utiliser un fichier Keytab pour vous connecter, cochez la case Use a keytab to authenticate. Un fichier Keytab contient les paires des Principaux et clés cryptées Kerberos. Vous devez saisir le Principal à utiliser dans le champ Principal. Dans le champ Keytab, parcourez votre système jusqu'au fichier Keytab à utiliser.

      L'utilisateur exécutant un Job utilisant un fichier Keytab n'est pas nécessairement celui désigné par un Principal mais doit avoir le droit de lire le fichier Keytab utilisé. Par exemple, lr nom d'utilisateur que vous utilisez pour exécuter un Job est user1 et le Principal à utiliser est guest. Ici, assurez-vous que user1 a le droit de lire le fichier Keytab à utiliser.

    • Si vous vous connectez à un cluster MapR V4.0.1 ou supérieure et que le système de sécurité de votre cluster par ticket MapR est activé, vous devez cocher la case Force MapR Ticket Authentication et configurer les paramètres suivants :

      1. Dans le champ Password, spécifiez le mot de passe utilisé pour l'authentification de l'utilisateur.

        Un ticket de sécurité MapR est généré pour cet utilisateur par MapR et stocké dans la machine où est exécuté le Job que vous configurez.

      2. Dans le champ Cluster name, saisissez le nom du cluster MapR auquel vous souhaitez que l'utilisateur se connecte.

        Ce nom de cluster se trouve dans le fichier mapr-clusters.conf situé dans /opt/mapr/conf du cluster.

      3. Dans le champ Ticket duration, saisissez la période de temps (en secondes) durant laquelle le ticket est valide.

      4. Laissez la case Launch authentication mechanism when the Job starts cochée box afin d'assurer que le Job utilisant cette connexion prend en compte la configuration actuelle de la sécurité lorsqu'il commence à s'exécuter.

      Si la configuration de la sécurité par défaut de votre cluster MapR a été modifiée, vous devez configurer la connexion pour qu'elle prenne en compte cette configuration personnalisée de la sécurité.

      MapR spécifie sa configuration de sécurité dans le fichier mapr.login.conf situé dans le dossier /opt/mapr/conf du cluster. Pour plus d'informations concernant ce fichier de configuration et le service Java utilisé derrière, consultez mapr.login.conf et JAAS (liens en anglais).

      Procédez comme suit pour la configuration :

      1. Vérifiez ce qui a été modifié concernant le fichier mapr.login.conf.

        Vous devriez pouvoir obtenir les informations relatives à l'administrateur ou au développeur de votre cluster MapR.

      2. Si l'emplacement de vos fichiers de configuration MapR a été modifié pour pointer vers un autre emplacement dans le cluster, c'est-à-dire si le répertoire Home MapR a été modifié, cochez la case Set the MapR Home directory et saisissez le nouveau répertoire Home. Sinon, laissez cette case décochée pour utiliser le répertoire Home par défaut.

      3. Si le module de connexion à utiliser a été modifié dans le fichier mapr.login.conf, cochez la case Specify the Hadoop login configuration et saisissez le module à appeler depuis le fichier mapr.login.conf. Sinon, laissez décochée cette case pour utiliser le module de connexion par défaut.

        Par exemple, saisissez kerberos pour appeler le module hadoop_kerberos ou hybrid pour appeler le module hadoop_hybrid.

    • User name :

      Saisissez le nom d'authentification de l'utilisateur de la disribution Hadoop à utiliser.

      Si vous laissez ce champ vide, le Studio utilise votre identifiant à la machine client sur laquelle vous travailler, pour accéder à la distribution Hadoop. Par exemple, si vous utilisez le Studio sur une machine Windows et que votre identifiant est Company, l'identifiant utilisé lors de l'exécution est Company.

    • Group:

      Saisissez le nom du groupe auquel l'utilisateur authentifié appartient.

      Notez que ce champ est activé selon la distribution que vous utilisez.

    • Hadoop properties :

      Si vous devez utiliser une configuration personnalisée pour la distribution Hadoop à utiliser, cliquez sur le bouton [...] pour ouvrir la table des propriétés et ajouter la ou les propriété(s) à personnaliser. Lors de l'exécution, ces modifications écrasent les propriétés par défaut correspondantes utilisées par le Studio pour son moteur Hadoop.

      Notez que les propriétés définies dans cette table sont héritées et réutilisées par les connexions filles que vous pouvez créer à partir de cette connexion Hadoop.

      Pour plus d'informations concernant les propriétés Hadoop, consultez la documentation Apache Hadoop à l'adresse suivante http://hadoop.apache.org/docs/current/ (en anglais), ou la documentation de la distribution Hadoop que vous utilisez. Par exemple, la page suivante liste certaines des propriétés Hadoop par défaut : https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/core-default.xml (en anglais).

      Pour plus d'informations concernant cette table des propriétés, consultez Configuration des propriétés réutilisables de Hadoop.

    • Lorsque la distribution à utiliser est Microsoft HD Insight, vous devez paramétrer la configuration de WebHCat configuration, HDInsight configuration et Window Azure Storage au lieu des paramètres mentionnés ci-dessus. En plus des informations d'authentification à fournir dans ces zones de configuration, vous devez configurer les paramètres suivants :

      • Dans le champ Job result folder, saisissez l'emplacement dans lequel stocker le résultat d'exécution d'un Job Talend dans Azure Storage.

      • Dans le champ Deployment Blob, saisissez l'emplacement dans lequel stocker un Job Talend et ses bibliothèques dépendantes dans ce compte Azure Storage.

      Une vidéo de démonstration concernant la configuration est disponible à l'adresse suivante : https://www.youtube.com/watch?v=A3QTT6VsNoM (en anglais).

    • Si vous utilisez Cloudera V5.5 ou une version supérieure, vous pouvez cocher la case Use Cloudera Navigator pour permettre au Cloudera Navigator de votre distribution de suivre le lignage de vos Jobs jusqu'au niveau des composants, notamment les modifications des schémas entre les composants.

      Vous devez cliquer sur le bouton [...] pour ouvrir la fenêtre [Cloudera Navigator Wizard] et définir les paramètres suivants :

      1. Username et Password : informations d'authentification utilisées pour vous connecter à votre Cloudera Navigator.

      2. URL : saisissez l'emplacement du Cloudera Navigator auquel se connecter.

      3. Metadata URL : saisissez l'emplacement de Navigator Metadata.

      4. Client URL : laissez la valeur par défaut.

      5. Autocommit : cochez cette case pour permettre à Cloudera Navigator de générer le lignage du Job courant à la fin de son exécution.

        Comme cette option force le Cloudera Navigator à générer des lignages de toutes ses entités disponibles, tels que les fichiers et répertoires HDFS, les requêtes Hive ou les scripts Pig, il n'est pas recommandé de l'utiliser dans un environnement de production, car elle ralentit le Job.

      6. Die on error : cochez cette case pour arrêter l'exécution de ce Job lorsque la connexion à Cloudera Navigator échoue.

        Sinon, laissez cette case décochée pour que votre Job continue à s'exécuter.

      7. Disable SSL : cochez cette case pour permettre à votre Job de se connecter à Cloudera Navigator sans processus de validation SSL.

        Cette fonctionnalité est conçue pour simplifier les tests de vos Jobs mais il n'est pas recommandé de l'utiliser dans un cluster en production.

      Une fois la configuration effectuée, cliquez sur Finish pour valider les paramètres.

  2. Pour chaque distribution officiellement supportée par Talend, une configuration Hadoop par défaut (sous forme d'un fichier .jar) est automatiquement chargée par le Studio afin de compléter les paramètres explicitement définis par vos soins dans l'assistant.

    Si vous souhaitez utiliser votre configuration personnalisée afin de remplacer celle par défaut, cochez la case Use custom Hadoop confs puis cliquez sur le bouton [...] pour ouvrir l'assistant d'import, pour importer la configuration depuis Ambari, Cloudera Manager ou depuis des fichiers locaux.

    Notez que cet import écrase uniquement la configuration Hadoop par défaut utilisée par le Studio mais n'écrase pas les paramètres définis dans l'assistant [Hadoop cluster connection].

    Pour plus d'informations concernant cet import, consultez Récupérer la configuration depuis Ambari ou Cloudera et Importer la configuration depuis des fichiers locaux.

  3. Cliquez sur le bouton Check services afin de vérifier que le Studio peut se connecter au NameNode et au JobTracker ou ResourceManager spécifiés dans cet assistant.

    Une boîte de dialogue s'ouvre et indique le processus de vérification ainsi que le statut de connexion. Si la connexion échoue, vous devez vérifier et mettre à jour les informations de connexion définies dans l'assistant de connexion.

  4. Cliquez sur Finish afin de valider vos modifications et fermer l'assistant.

    La nouvelle connexion à Hadoop s'affiche dans le dossier Hadoop cluster de la vue Repository. Cette connexion ne contient pas de sous-dossier tant que vous ne créez pas d'élément dans cette distribution.