Configuration des correspondances de groupes Hadoop pour LDAP/Active Directory
Pour reconnaître l'utilisateur et le groupe Active Directory afin que l'autorisation de niveau groupe LDAP/Active Directory puisse être appliquée dans Hadoop, configurez le mappage de groupe Hadoop à l'aide de l'une des options suivantes :
Configuration de la correspondance de groupe Hadoop dans le coeur-site.xml
Pour configurer les mappings en une seule fois, exécutez la commande suivante sur un0 :
- Sur un0, exécutez la commande suivante :
export AMBARI_CONF_SCRIPT=/var/lib/ambari-server/resources/scripts/configs.py
- Collectez les éléments <ambari_password>, <un0_node_IP> et <cluster_name> (vérifiez le nom de cluster à partir de l'interface utilisateur Ambari), puis exécutez la commande suivante pour obtenir la configuration
core-site
en cours.python ${AMBARI_CONF_SCRIPT} \ --user=admin \ --password='<ambari_password>' \ --protocol=https --unsafe \ --host=<un0_node_IP> \ --port=7183 \ --cluster=<cluster_name> \ --config-type=core-site \ --action=get \ --file=/tmp/current_core-site.json
- Collez les paires clé-valeur avec les valeurs appropriées dans la série clé-valeur d'objet de propriétés du fichier JSON de configuration
current_core-site.json
, puis ajoutez la paire clé-valeur suivante à l'objet de mot de passe de l'objet properties_attributes."password": { "hadoop.security.group.mapping.provider.ad4usersX.ldap.bind.password": "true" //the key-value pair to mask out your password in Ambari. },
- Exécutez la commande suivante pour mettre à jour la configuration :
python ${AMBARI_CONF_SCRIPT} \ --user=admin \ --password='<ambari_password>' \ --protocol=https --unsafe \ --host=<un0_node_IP> \ --port=7183 \ --cluster=<cluster_name> \ --config-type=core-site \ --action=set \ --file=/tmp/current_core-site.json
- Par défaut, Hadoop actualise le cache de mappage des groupes d'utilisateurs toutes les 300 secondes. Pour avoir un intervalle d'actualisation plus court, ajoutez la paire clé-valeur suivante :
"hadoop.security.groups.cache.secs":"<number of seconds you need>"
- Sélectionnez l'icône Services '...', puis sélectionnez Redémarrer tous les services requis.