Configurer les moteurs Moteur distant Gen2 pour Amazon EMR - Cloud

Guide de démarrage rapide de Talend Remote Engine Gen2

Version
Cloud
Language
Français (France)
Product
Talend Cloud
Module
Talend Management Console
Talend Pipeline Designer
Content
Déploiement > Déploiement > Exécution de Pipelines
Installation et mise à niveau

Pour que le moteur Moteur distant Gen2 AMI fonctionne avec Amazon EMR, l'instance Livy s'exécutant dans votre moteur distant requiert les fichiers de configuration Hadoop provenant du cluster EMR cible.

Remarque : Les profils d'exécution EMR sont disponibles uniquement sur demande. Contactez le support Talend pour plus d'informations.

Avant de commencer

  • Vous devez avoir un cluster EMR s’exécutant sur le même Cloud privé virtuel (VPC) que votre moteur Moteur distant Gen2. Pour plus d’informations concernant la création de votre groupe de sécurité et de votre VPC, consultez creating-the-remote-engine-gen2-using-aws-cloudformation_c.html.
  • Le Moteur distant Gen2 doit avoir accès aux instances principale et secondaire de l'EMR. Vous pouvez soit configurer les groupes de sécurité des instances d'Amazon EMR pour donner entièrement accès au groupe de sécurité du moteur, soit ouvrir les ports des services YARN trouvables dans la documentation Amazon.
  • Vous devez utiliser l’utilisateur ou l'utilisatrice root pour soumettre les pipelines via le serveur Livy.
  • Les paramètres d’utilisation de différents computes doivent être définis du côté du cluster, dans le fichier core-site.xml, comme suit :
    <property>
      <name>hadoop.proxyuser.root.groups</name>
      <value>*</value>
    </property>
    <property>
      <name>hadoop.proxyuser.root.hosts</name>
      <value>*</value>
    </property>
    • Vous pouvez configurer le cluster lors de sa création, comme décrit dans la documentation Amazon, avec les paramètres suivants :
      [
        {
          "Classification": "core-site",
          "Properties": {
            "hadoop.proxyuser.root.hosts": "*",
            "hadoop.proxyuser.root.groups": "*"
          }
        }
      ]
    • ou vous pouvez ajouter ce paramètre après le démarrage du cluster, si vous devez le redémarrer, comme décrit dans la documentation Amazon (en anglais) afin de prendre en compte les modifications.
  • Informations relatives aux ports : assurez-vous que l'application Moteur distant Gen2 autorise la connexion au port 9005 depuis les instances d'Amazon EMR.

Procédure

  1. Copiez les fichiers de configuration depuis /etc/hadoop/conf dans le dossier /opt/talend/data/etc/hadoop dans l’instance cliente de Moteur distant Gen2.
    • hdfs-site.xml
    • mapred-site.xml
    • yarn-site.xml :
    • core-site.xml :
  2. Du côté de Moteur distant Gen2, modifiez les fichiers suivants pour répondre aux prérequis de Talend Pipeline Designer :
    • core-site.xml :

      Modifiez la propriété io.compression.codecs avec la valeur
      org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.BZip2Codec,org.apache.hadoop.io.compress.SnappyCodec
    • hdfs-site.xml :

      Ajoutez la propriété dfs.client.use.datanode.hostname avec la valeur true

    • yarn-site.xml :

      Modifiez la propriété yarn.timeline-service.enabled avec la valeur false

  3. Côté cluster EMR, créez le dossier /user/talend dans HDFS :
    hadoop fs -mkdir -p /user/talend
    hadoop fs -chown -R talend:talend /user/talend
    Remarque : Vous devez vous connecter au nœud principal avec SSH en utilisant l'utilisateur ou l'utilisatrice Hadoop ayant les droits pour exécuter ces commandes.
  4. Côté cluster EMR, créez deux dossiers à l'emplacement de votre choix et donnez-leur la possession root:root.

    Exemple

    hadoop fs -mkdir -p /talend/deps/pdesigner
    hadoop fs -mkdir -p /talend/deps/runtime
    hadoop fs -chown -R root:root /talend/deps
    Remarque : Vous devez donner à l'utilisateur ou l'utilisatrice root la possession de ces dossiers pour que les bibliothèques puissent être chargées avec le script emr-init.sh.
  5. Côté Moteur distant Gen2, exportez les variables d'environnement suivantes :
    • HDFS_DSS_DEPENDENCIES_PATH vers /talend/deps/pdesigner
    • HDFS_RUNTIME_DEPENDENCIES_PATH vers /talend/deps/runtime
  6. Exécutez le script emr-init.sh situé dans /opt/talend/emr.
  7. Redémarrez Livy en exécutant cette commande :
    cd /opt/talend && docker-compose restart livy

Que faire ensuite

  • Connectez-vous à Talend Cloud Management Console, allez dans la page Engines et créez un profil d'exécution Big Data.
  • Définissez les propriétés obligatoires suivantes dans le profil d’exécution (les valeurs peuvent être différentes en fonction de votre configuration) :
    spark.yarn.archive=hdfs:///talend/deps/runtime/spark-runtime.zip
    spark.dss.dependencies.path=hdfs:///talend/deps/pdesigner
  • Liez le profil d’exécution au moteur Moteur distant Gen2 précédemment configuré.