Tous les produits
Search
Centre de documentation

E-MapReduce:FAQ

Dernière mise à jour :Sep 01, 2026

Réponses aux questions fréquentes sur la synchronisation des utilisateurs Ranger dans E-MapReduce.

Échec de la synchronisation des utilisateurs Linux/LDAP par RangerUserSync

  • Cause : Ce problème survient avec les versions 3.23.0 et antérieures d'E-MapReduce.

  • Solution : Connectez-vous au nœud emr-header-1 du cluster. Modifiez manuellement le fichier /etc/ecm/ranger-usersync-conf/ranger-ugsync-site.xml pour définir le paramètre ranger.usersync.enabled sur true. Redémarrez ensuite le composant RangerUserSync depuis la console EMR.

Comment synchroniser les utilisateurs Unix vers Ranger

Ranger ne prend pas en charge la synchronisation simultanée des utilisateurs LDAP et Unix au sein d'un même cluster. La méthode de synchronisation des utilisateurs Unix dépend du déploiement ou non d'OpenLDAP dans votre cluster.

Sans OpenLDAP

  1. Sur le nœud maître de votre cluster E-MapReduce, exécutez la commande suivante pour ajouter un utilisateur.

    sudo adduser <username>
  2. Dans la console EMR, accédez au service Ranger. Sous l'onglet Status , repérez RangerUserSync dans la liste des Components , puis cliquez sur Restart dans la colonne Actions.

  3. Vérifiez le résultat de la synchronisation.

    1. Connectez-vous à l'interface web de Ranger. Pour plus d'informations, consultez la rubrique Accéder aux interfaces web des composants open source.

    2. Choisissez Settings > Users/Groups/Roles.

    3. Sous l'onglet Users, vérifiez que le nouvel utilisateur Unix apparaît bien.

      Par exemple, l'utilisateur test créé à l'étape 1 est désormais visible.

Avec OpenLDAP

Si OpenLDAP est déployé dans votre cluster, Ranger synchronise par défaut les utilisateurs LDAP. Pour basculer vers la synchronisation des utilisateurs Unix, modifiez les paramètres Ranger suivants :

  1. Sur le nœud maître de votre cluster E-MapReduce, exécutez la commande suivante pour ajouter un utilisateur.

    sudo adduser <username>
  2. Dans la console EMR, accédez au service Ranger. Sous l'onglet Configure , recherchez et modifiez les paramètres suivants :

    • Définissez le paramètre ranger.usersync.sync.source sur unix.

    • Définissez le paramètre ranger.usersync.source.impl.class sur org.apache.ranger.unixusersync.process.UnixUserGroupBuilder.

  3. Lorsque la console vous y invite, enregistrez la configuration et redémarrez le service Ranger. Une fois le service redémarré, les utilisateurs Unix sont synchronisés automatiquement.

  4. Vérifiez le résultat de la synchronisation.

    1. Connectez-vous à l'interface web de Ranger. Pour plus d'informations, consultez la rubrique Accéder aux interfaces web des composants open source.

    2. Choisissez Settings > Users/Groups/Roles.

    3. Sous l'onglet Users, vérifiez que le nouvel utilisateur Unix apparaît bien.

      Par exemple, l'utilisateur test créé à l'étape 1 est désormais visible.

Que faire si les jobs Hive on Spark prennent trop de temps en raison d'un grand nombre de petits fichiers dans EMR ?

La présence d'un grand nombre de petits fichiers dans OSS entraîne une augmentation significative de la latence des contrôles d'autorisation Ranger, ce qui affecte les performances de HiveServer2.

Solution 1 : Désactiver l'autorisation OSS de Ranger

  1. Connectez-vous à la console EMR et accédez à la page des détails du cluster.

  2. Sous l'onglet Cluster Services, repérez le service Ranger-plugin .

  3. Cliquez sur l'onglet Status du service Ranger-plugin pour accéder à la section Service Overview.

  4. Dans la section Service Overview, repérez le commutateur enableOSS et désactivez-le.

  5. Redémarrez les composants résidents tels que HiveServer2 et Spark ThriftServer .

Solution 2 : Optimiser les paramètres de fusion des petits fichiers Hive

Dans la configuration du service Hive, définissez les paramètres suivants :

  • hive.merge.mapfiles=true (active la fusion des petits fichiers lors de l'étape Map)

  • hive.merge.mapredfiles=true (active la fusion des petits fichiers lors de l'étape Reduce)

  • hive.merge.size.per.task=256000000 (taille cible des fichiers après fusion)

Que faire en cas d'exception SSL lors de l'initialisation de Ranger ?

Symptôme

Lorsque vous utilisez une base de données MySQL ou MariaDB auto-gérée comme base de métadonnées Ranger et que le protocole SSL est activé sur cette base (have_ssl=YES), l'initialisation (setup) de Ranger échoue avec une erreur javax.net.ssl.SSLException . Un message d'erreur typique est le suivant : javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate) .

Cause

Par défaut, Ranger utilise le pilote mysql-connector-java 5.1.47, incompatible avec le protocole de handshake SSL de MariaDB. Cette incompatibilité entraîne l'échec de la négociation TLS et déclenche une exception SSLHandshakeException , sous-classe de SSLException . Lorsque le protocole SSL est désactivé, ce pilote se connecte correctement à la base de données ; il n'est donc pas nécessaire de le remplacer par un connecteur MySQL 8.x.

Solution

Désactivez le protocole SSL dans la configuration de connexion à la base de données de Ranger :

  1. Connectez-vous au nœud maître de votre cluster EMR.

  2. Dans le répertoire d'installation de Ranger, ouvrez le fichier install.properties et définissez db_ssl_enabled=false .

  3. Modifiez l'URL JDBC pour inclure le paramètre useSSL=false :

    jdbc:mysql://<host>:<port>/ranger?useSSL=false
  4. Ouvrez le fichier ranger-admin-site.xml et définissez la propriété ranger.jpa.jdbc.url avec la valeur suivante :

    jdbc:log4jdbc:mysql://<host>:<port>/ranger?useSSL=false
  5. Relancez la procédure de setup de Ranger. Il n'est pas nécessaire de redémarrer la base de données.

Remarque

La désactivation du protocole SSL réduit la sécurité des connexions à la base de données. N'utilisez cette solution que dans un environnement de test. Pour un environnement de production, évaluez l'impact sur la sécurité avant d'appliquer cette modification.