DataWorks vous permet de créer des nœuds tels que Hive, MapReduce (MR), Presto et Spark SQL sur un cluster E-MapReduce (EMR) afin de configurer des flux de travail, d'ordonnancer des tâches et de gérer les métadonnées. Vous pouvez enregistrer un cluster EMR appartenant au même compte Alibaba Cloud ou à un autre compte.
Contexte
E-MapReduce (EMR) est une solution open source de traitement du Big Data qui s'exécute sur Alibaba Cloud.
S'appuyant sur Apache Hadoop et Apache Spark, EMR vous permet d'analyser et de traiter des données grâce à leurs écosystèmes respectifs. EMR peut également échanger des données avec d'autres services Alibaba Cloud, tels que Object Storage Service (OSS) et ApsaraDB RDS. EMR est disponible sur ECS, sur ACK et en tant qu'offre serverless.
La configuration optimale du cluster varie selon le composant utilisé. Avant de configurer un cluster EMR, consultez les recommandations de configuration de cluster EMR et choisissez une configuration répondant à vos besoins.
Types de clusters pris en charge
Limites
-
Autorisations : Seuls les utilisateurs RAM ou les rôles RAM disposant des identités suivantes peuvent enregistrer un cluster EMR. Pour accorder ces autorisations, consultez la section Accorder des autorisations à un utilisateur RAM.
Un compte Alibaba Cloud.
Un utilisateur RAM ou un rôle RAM doté du rôle Administrateur d'espace de travail DataWorks et de la stratégie AliyunEMRFullAccess.
Un utilisateur RAM ou un rôle RAM disposant des stratégies AliyunDataWorksFullAccess et AliyunEMRFullAccess.
Région : EMR Serverless Spark est disponible uniquement dans les régions Chine (Hangzhou), Chine (Shanghai), Chine (Pékin), Chine (Shenzhen), Chine (Chengdu), Chine (Hong Kong), Japon (Tokyo), Singapour, Indonésie (Jakarta), Allemagne (Francfort) et États-Unis (Virginie).
Type de tâche : DataWorks ne prend pas en charge les tâches EMR Flink.
Exécution des tâches : DataWorks prend en charge l'exécution des tâches EMR à l'aide de groupes de ressources serverless (recommandé) ou des groupes de ressources exclusifs hérités pour l'ordonnancement.
-
Gouvernance des données :
-
Seules les tâches SQL sur les nœuds EMR Hive, EMR Spark et EMR Spark SQL prennent en charge la génération de la lignée des données. Pour les clusters de version 5.9.1 ou 3.43.1 et ultérieure, ces nœuds prennent en charge la lignée des données au niveau de la table et de la colonne.
RemarquePour les nœuds Spark, la lignée des données au niveau de la table et de la colonne est prise en charge sur les clusters EMR de version 5.8.0 ou 3.42.0 et ultérieure. Sur les versions antérieures, seul Spark 2.x prend en charge la lignée des données au niveau de la table.
Pour gérer les métadonnées d'un cluster DataLake ou personnalisé dans DataWorks, vous devez d'abord configurer EMR-HOOK sur le cluster. Sans cette configuration, DataWorks ne peut pas afficher les métadonnées en temps réel, générer des journaux d'audit ni afficher la lignée des données. Actuellement, EMR-HOOK est pris en charge uniquement pour les services EMR Hive et EMR Spark SQL. Pour plus d'informations, consultez les rubriques Configurer EMR-HOOK pour Hive et Configurer EMR-HOOK pour Spark SQL.
-
-
Pour les clusters EMR avec authentification Kerberos activée, vous devez ajouter une règle entrante au groupe de sécurité afin d'autoriser l'accès UDP depuis le bloc CIDR du vSwitch associé au groupe de ressources.
RemarqueCliquez sur l'icône
correspondant à Cluster Security Group dans l'onglet Basic information du cluster EMR pour accéder à la page Security Group Details. Dans l'onglet Access Rules, cliquez sur Inbound, puis sur Added Manually. Définissez Protocol Type sur Custom UDP. Pour Port Range, saisissez le port KDC spécifié dans le fichier /etc/krb5.confdu cluster EMR. Définissez Authorized object sur le bloc CIDR du vSwitch associé au groupe de ressources.
Remarques d'utilisation
-
Pour isoler les environnements de développement et de production d'un espace de travail DataWorks en mode standard, vous devez enregistrer deux clusters EMR distincts : un pour l'environnement de développement et un pour l'environnement de production. Les métadonnées de ces clusters doivent être stockées selon l'une des méthodes suivantes :
Méthode 1 (recommandée pour les solutions de lac de données) : Stockez les métadonnées dans deux catalogues différents dans Data Lake Formation (DLF). Pour plus d'informations, consultez la rubrique Changer le type de stockage des métadonnées.
Méthode 2 : Stockez les métadonnées dans deux bases de données différentes dans RDS. Pour plus d'informations, consultez la rubrique Configurer une instance RDS autogérée.
Un cluster EMR peut être enregistré dans plusieurs espaces de travail au sein du même compte Alibaba Cloud, mais pas entre différents comptes.
Afin de garantir l'accès d'un groupe de ressources DataWorks à un cluster EMR, si la connexion échoue malgré l'association du groupe de ressources au même VPC et au même vSwitch que le cluster EMR, vérifiez les règles du groupe de sécurité du cluster. Ajoutez des règles entrantes pour le bloc CIDR du vSwitch et les ports des composants open source courants. Pour plus d'informations, consultez la rubrique Gérer les groupes de sécurité d'un cluster EMR.
Étape 1 : Accéder à la page d'enregistrement du cluster
-
Connectez-vous à la console DataWorks. Dans la région cible, cliquez sur dans le volet de navigation de gauche. Sélectionnez un espace de travail dans la liste déroulante et cliquez sur Go to Management Center.
Dans le volet de navigation de gauche, cliquez sur Clusters. Sur la page Clusters, cliquez sur Register Cluster et définissez Select Cluster Type sur E-MapReduce.
Étape 2 : Enregistrer un cluster EMR
Sur la page Register EMR Cluster, configurez les informations relatives au cluster.
Pour les espaces de travail en mode standard, vous devez configurer les informations du cluster séparément pour les environnements de développement et de production. Pour plus d'informations sur les modes d'espace de travail, consultez la rubrique Différences entre les modes d'espace de travail.
Display Name of Cluster : Saisissez un nom d'affichage unique pour le cluster.
-
Alibaba Cloud Account To Which Cluster Belongs : Sélectionnez le compte propriétaire du cluster EMR.
RemarqueLes clusters EMR Serverless Spark ne peuvent pas être enregistrés entre différents comptes.
Configurez les paramètres en fonction du type de compte sélectionné.
Compte actuel
Si le cluster appartient au Current Alibaba Cloud Account, vous devez configurer les paramètres suivants :
|
Paramètre |
Description |
|
Cluster Type |
Sélectionnez le type de cluster EMR à enregistrer. Pour la liste des types de clusters pris en charge, consultez la section LimitesLimites. |
|
Cluster |
Sélectionnez le cluster EMR du compte actuel que vous souhaitez enregistrer dans DataWorks. Remarque
Si vous sélectionnez EMR Serverless Spark, vous devez suivre les instructions affichées à l'écran et consulter les descriptions pour sélectionner un Workspace Created in EMR Serverless Spark (le cluster à enregistrer), une version de moteur par défaut et une file d'attente de ressources par défaut. |
|
Default Access Identity |
Spécifiez l'identité utilisée pour accéder au cluster EMR dans l'espace de travail actuel.
Remarque
Si vous sélectionnez une identité mappée à un compte de cluster (tel que le propriétaire de la tâche, le compte Alibaba Cloud ou l'utilisateur RAM), vous pouvez configurer manuellement les correspondances entre les membres DataWorks et les comptes de cluster EMR spécifiés. Pour plus d'informations, consultez la rubrique Configurer les mappages d'identités de cluster. Si une identité d'accès nécessitant un mappage est utilisée pour exécuter une tâche EMR dans DataWorks sans qu'aucun mappage spécifique ne soit configuré, DataWorks applique les politiques suivantes :
|
|
Pass Proxy User Information |
Indiquez s'il faut transmettre les informations de l'utilisateur proxy. Remarque
Lorsqu'une méthode d'authentification telle que LDAP ou Kerberos est activée, le cluster émet un identifiant pour chaque utilisateur. Pour centraliser la gestion des autorisations, vous pouvez utiliser un superutilisateur (utilisateur réel) agissant comme proxy pour un utilisateur régulier (utilisateur proxy) lors de l'authentification. Lorsqu'un utilisateur proxy accède au cluster, les identifiants d'identité du superutilisateur sont utilisés. Il vous suffit d'ajouter l'utilisateur en tant qu'utilisateur proxy.
Les informations de l'utilisateur proxy sont transmises de la manière suivante pour différents types de tâches EMR :
|
|
Configuration File |
Si vous sélectionnez HADOOP comme type de cluster, vous pouvez obtenir les fichiers de configuration depuis la console EMR. Pour plus d'informations, consultez la rubrique Exporter et importer les configurations de service. Après avoir exporté les fichiers, renommez-les selon vos besoins dans l'interface utilisateur. Dans l'onglet Basic Information de la page des détails du cluster, cliquez sur All Operations en haut à droite. Dans la section Cluster Services du menu déroulant, sélectionnez Export Service Configuration. Vous pouvez également vous connecter au cluster EMR et obtenir les fichiers de configuration à partir des chemins suivants :
|
Autre compte
Si le cluster appartient à Another Alibaba Cloud Account, vous devez configurer les paramètres suivants :
|
Paramètre |
Description |
|
UID of Alibaba Cloud Account |
Saisissez l'UID du compte Alibaba Cloud propriétaire du cluster EMR. |
|
RAM Role |
Le rôle RAM utilisé pour accéder au cluster EMR. Le rôle doit satisfaire aux exigences suivantes :
Remarque
Pour plus d'informations sur l'enregistrement d'un cluster EMR appartenant à un autre compte, consultez la rubrique Scénario : Enregistrer un cluster EMR appartenant à un autre compte. |
|
EMR Cluster Type |
Sélectionnez le type de cluster EMR à enregistrer. Pour l'enregistrement inter-comptes, seuls les types |
|
EMR Cluster |
Sélectionnez le cluster EMR de ce compte que vous souhaitez enregistrer dans DataWorks. |
|
Configuration File |
Configurez chaque fichier de configuration selon les instructions affichées à l'écran. Pour savoir comment obtenir les fichiers de configuration, consultez la rubrique Exporter et importer les configurations de service. Après avoir exporté les fichiers, renommez-les selon vos besoins dans l'interface utilisateur. Dans l'onglet Basic Information de la page des détails du cluster, cliquez sur All Operations en haut à droite. Dans la section Cluster Services du menu déroulant, sélectionnez Export Service Configuration. Vous pouvez également vous connecter au cluster EMR et obtenir les fichiers de configuration à partir des chemins suivants :
|
|
Default Access Identity |
Spécifiez l'identité utilisée pour accéder au cluster EMR dans l'espace de travail actuel.
Remarque
Si vous sélectionnez une identité mappée à un compte de cluster (tel que le propriétaire de la tâche, le compte Alibaba Cloud ou l'utilisateur RAM), vous pouvez configurer manuellement les correspondances entre les membres DataWorks et les comptes de cluster EMR spécifiés. Pour plus d'informations, consultez la rubrique Configurer les mappages d'identités de cluster. Si une identité d'accès nécessitant un mappage est utilisée pour exécuter une tâche EMR dans DataWorks sans qu'aucun mappage spécifique ne soit configuré, DataWorks applique les politiques suivantes :
|
|
Pass Proxy User Information |
Indiquez s'il faut transmettre les informations de l'utilisateur proxy. Remarque
Lorsqu'une méthode d'authentification telle que LDAP ou Kerberos est activée, le cluster émet un identifiant pour chaque utilisateur. Pour centraliser la gestion des autorisations, vous pouvez utiliser un superutilisateur (utilisateur réel) agissant comme proxy pour un utilisateur régulier (utilisateur proxy) lors de l'authentification. Lorsqu'un utilisateur proxy accède au cluster, les identifiants d'identité du superutilisateur sont utilisés. Il vous suffit d'ajouter l'utilisateur en tant qu'utilisateur proxy.
Les informations de l'utilisateur proxy sont transmises de la manière suivante pour différents types de tâches EMR :
|
Étape 3 : Initialiser un groupe de ressources
Initialisez le groupe de ressources après avoir enregistré un cluster pour la première fois, modifié les configurations des services du cluster ou mis à niveau la version d'un composant (par exemple, en modifiant core-site.xml). Cela garantit que le groupe de ressources peut accéder au cluster EMR et que les tâches s'exécutent avec la configuration actuelle.
Sur la page Open Source Clusters, sélectionnez l'onglet correspondant au cluster EMR enregistré et cliquez sur Initialize Resource Group.
-
Localisez le groupe de ressources requis et cliquez sur Initialize dans la colonne Actions.
Vous pouvez initialiser un groupe de ressources serverless ou un groupe de ressources exclusif hérité pour l'ordonnancement.
Attendez 1 à 2 minutes que l'initialisation se termine, puis cliquez sur OK.
Si l'initialisation échoue, utilisez l'outil de diagnostic de connectivité pour identifier la cause.
L'initialisation peut entraîner l'échec des tâches en cours d'exécution. Sauf si une réinitialisation immédiate est nécessaire, par exemple pour éviter des échecs massifs de tâches après une modification de configuration, nous vous recommandons d'initialiser le groupe de ressources pendant les heures creuses.
Étapes suivantes
Développement de données : Suivez le guide du flux de travail de développement de données pour configurer les environnements des composants.
Configurer les mappages d'identités de cluster : Si l'identité d'accès par défaut du cluster EMR n'est pas le compte
hadoop, vous devez configurer les mappages d'identités pour contrôler les ressources auxquelles les utilisateurs RAM peuvent accéder dans DataWorks afin de gérer les autorisations.Définir les files d'attente de ressources YARN globales : Utilisez les mappages de files d'attente de ressources YARN pour spécifier la file d'attente YARN utilisée par chaque module. Vous pouvez également configurer ces paramètres pour remplacer les configurations individuelles des modules.
Définir les paramètres Spark globaux : Personnalisez les paramètres Spark globaux en vous basant sur la documentation officielle de Spark. Vous pouvez également spécifier si les paramètres au niveau de l'espace de travail remplacent les configurations spécifiques aux modules pour les paramètres portant le même nom.
Définir les informations de connexion Kyuubi : Pour utiliser un compte et un mot de passe personnalisés pour les tâches Kyuubi, personnalisez les informations de connexion comme décrit dans cette rubrique.