Définition de la connexion à Hadoop - 6.5

Définition de connexions de contexte Hadoop intelligentes

EnrichVersion
6.5
EnrichProdName
Talend Big Data
Talend Data Fabric
Talend Open Studio for Big Data
Talend Real-Time Big Data Platform
task
Création et développement > Création de Jobs > Distributions Hadoop
EnrichPlatform
Studio Talend

Vous devez tout d'abord définir la connexion à un environnement Hadoop donné.

Dans cet article, une distribution Cloudera est utilisée à titre d'exemple.

Avant de commencer

  • Vérifiez 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 a été correctement installé et est en cours de fonctionnement.

  • La perspective Integration est active.

  • Cloudera est l'exemple de distribution de cet article. Si vous utilisez une distribution différente, vous devez garder à l'esprit les prérequis particuliers expliqués comme suit :
    • Si vous devez vous connecter à MapR à partir du Studio, assurez-vous d'avoir installé le client MapR dans une machine où le Studio est stocké et d'avoir ajouté la bibliothèque du client MapR client à la variable PATH de cette machine. Selon la documentation MapR, la ou les bibliothèques d'un client MapR correspondante(s) à chaque version de système d'exploitation peut ou peuvent être trouvée(s) sous MAPR_INSTALL\/hadoop\hadoop-VERSION/lib/native. Par exemple, la bibliothèque pour Windows est \lib\native\MapRClient.dll dans le fichier .jar client MapR. Pour plus d'informations, consultez le site de MapR : http://www.mapr.com/blog/basic-notes-on-configuring-eclipse-as-a-hadoop-development-environment-for-mapr (en anglais).

    • Si vous devez vous connecter à un cluster Google Dataproc, définissez le chemin d'accès du fichier d'identifiants de Google associé au compte du service à utiliser afin que la fonctionnalité Check service de l'assistant de la métadonnée puisse vérifier votre configuration.

      Pour plus d'informations concernant la définition de la variable d'environnement, consultez Getting Started with Authentication (en anglais) de la documentation Google.

Procédure

  1. Dans l'arborescence Repository de votre Studio, développez Metadata et cliquez-droit sur Hadoop cluster.
  2. Sélectionnez Create Hadoop cluster dans le menu contextuel pour ouvrir l'assistant [Hadoop cluster connection].
  3. Renseignez les informations génériques de cette connexion, comme Name et Description, cliquez sur Next pour ouvrir la fenêtre [Hadoop Configuration Import Wizard] qui vous permet de sélectionner la distribution à utiliser et le mode manuel et automatique pour configurer cette connexion.
    • Retrieve configuration from Ambari or Cloudera : si vous utilisez Hortonworks Data Platform ou un cluster Cloudera CDH et que votre cluster contient sa plateforme de gestion spécifique : Hortonworks Ambari pour Hortonworks Data Platform et Cloudera Manager pour Cloudera CDH, cochez cette case pour importer directement la configuration.

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

    • Enter manually Hadoop services : cliquez sur Finish et saisissez manuellement les paramètres de connexion.

    Avec l'approche automatique ou avec l'approche manuelle, les paramètres que vous devez définir sont les suivants :
    • Namenode URI : saisissez l'URI de la machine NameNode du cluster à utiliser.

    • Resource Manager et Resource Manager scheduler : saisissez respectivement l'URI pointant vers la machine utilisée par le service Resource Manager de votre cluster et l'adresse de son ordonnanceur.

    • Job history : saisissez l'emplacement du serveur JobHistory de votre cluster. Cela permet aux informations métriques du Job courant d'être stockées dans ce serveur JobHistory.

    • Staging directory : saisissez le répertoire défini dans votre cluster Hadoop pour les fichiers temporaires créés par des programmes en cours d'exécution. Ce répertoire peut généralement être trouvé 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 via leurs hébergeurs. Cela configure la propriété dfs.client.use.datanode.hostname à true.

    • Le champ User name est disponible lorsque vous n'utilisez pas Kerberos pour vous authentifier. Dans ce champ, saisissez votre identifiant pour cette distribution. Si vous laissez le champ vide, le nom de la machine hébergeant le Studio sera utilisé.

  4. Vérifiez que votre cluster est sécurisé et gardez à l'esprit que la configuration de sécurité ne peut pas être contextualisée.

    Si vous accédez au cluster Hadoop s'exécutant avec la sécurité Kerberos, cochez cette case. Saisissez les noms des principaux Kerberos pour le service du ResourceManager et le service du JobHistory dans les champs qui s'affichent. Cela vous permet d'utiliser votre identifiant pour vous authentifier par rapport aux informations stockées dans Kerberos. Ces principaux se trouvent dans les fichiers de configuration de votre distribution, comme yarn-site.xml et mapred-site.xml.

    Si vous souhaitez utiliser un fichier Kerberos keytab pour vous identifier, cochez la case Use a keytab to authenticate. Un fichier keytab contient des paires de principaux et clés cryptées Kerberos. Vous devez saisir le principal à utiliser dans le champ Principal et le chemin d'accès au fichier keytab dans le champ Keytab. Ce fichier keytab doit être stocké sur la machine où s'exécute votre Job, par exemple, sur un serveur de Jobs Talend.

    Notez que l'utilisateur qui exécute un Job utilisant un keytab n'est pas forcément celui désigné par le principal mais qu'il doit avoir le droit de lecture pour le fichier keytab utilisé. Par exemple, le nom d'utilisateur que vous utilisez pour exécuter le Job est user1 et le principal à utiliser est guest. Dans cette situation, assurez-vous que user1 a les droits de lecture pour le fichier keytab à utiliser.

  5. Ajoutez les propriétés avancées de Hadoop si elles sont requises par votre cluster et gardez à l'esprit que ces propriétés ne peuvent pas être contextualisées. 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 correspondantes configurées par défaut utilisées par le Studio pour son moteur Hadoop.
  6. Si votre Studio supporte la création de Jobs Apache Spark et que votre cluster attend des propriétés Spark avancées, utilisez la case Use Spark properties pour ouvrir les propriétés de la table et ajouter la ou les propriétés à utiliser. Gardez à l’esprit que ces propriétés ne peuvent pas être contextualisées.

    Lorsque vous réutilisez cette connexion dans vos Jobs Apache Spark, les propriétés Spark avancées que vous avez ajoutées ici sont automatiquement ajoutées aux configurations de Spark pour ces Jobs.

  7. Si vous utilisez Cloudera V5.5+ pour exécuter les Jobs Batch MapReduce ou Apache Spark, vous pouvez cocher la case Use Cloudera Navigator pour utiliser Cloudera Navigator, trouver le lignage d'un flux de données en particulier afin de découvrir comment ce flux de données a été généré par un Job. Toutefois, gardez à l'esprit que la configuration de Cloudera Navigator ne peut pas être contextualisée.

    Lorsque cette option est activée, vous devez configurer les paramètres suivants :

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

    • Cloudera Navigator URL : saisissez l'emplacement du Cloudera Navigator pour vous connecter.

    • Cloudera Navigator Metadata URL : saisissez l'emplacement où sont stockées les métadonnées (Navigator Metadata).

    • Activate the autocommit option : cochez cette case pour que le Cloudera Navigator génère 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, comme 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.

    • Kill the job if Cloudera Navigator fails : cochez cette case pour arrêter l'exécution du Job lorsque la connexion à Cloudera Navigator échoue.

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

    • Disable SSL validation : cochez cette case pour que votre Job se connecte au 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.

  8. Cliquez sur le bouton Check services pour vérifier que le Studio peut se connecter au NameNode et au service Resource Manager que vous avez spécifié dans cet assistant. Une boîte de dialogue s'affiche pour indiquer le processus de vérification et l'état de la connexion. Si la boîte de dialogue affiche un échec de la connexion, vous devez revoir et mettre à jour les informations de connexion que vous avez définies dans l'assistant de connexion.
  9. Cliquez sur Finish pour valider vos modifications et fermer l'assistant.

    La connexion à Hadoop qui vient d'être configurée s'affiche sous le dossier Hadoop cluster, dans l'arborescence Repository. Cette connexion n'a pas de sous-dossier avant que vous ne créiez des connexions à des éléments sous la distribution Hadoop.