Kerberos est un protocole d'authentification qui utilise la cryptographie à clé symétrique pour vérifier les identités auprès d'autres services. Cette rubrique explique comment accéder à un client Hive lorsque l'authentification Kerberos est activée.
Prérequis
Vous devez avoir créé un cluster et activé le commutateur Kerberos Authentication dans la section Advanced Settings de la page Software Configuration. Pour plus d'informations, consultez la rubrique Créer un cluster.
Procédure
Connectez-vous au cluster via SSH. Pour plus d'informations, consultez la rubrique Se connecter à un cluster.
-
Exécutez la commande suivante pour démarrer l'outil
admin.localde Kerberos.-
Si vous vous connectez en tant qu'utilisateur
rootau nœud master-1-1 où s'exécute le serveur KDC (Kerberos Key Distribution Center), exécutez la commande suivante pour accéder directement à l'outil d'administration.kadmin.localLa sortie suivante indique que vous avez accédé à l'interface de ligne de commande
kadmin.local:Authenticating as principal hadoop/admin@EMR.C-85D4B8D74296****.COM with password. kadmin.local: -
Si vous vous connectez à un autre nœud ou utilisez une passerelle, exécutez la commande suivante pour accéder à l'outil d'administration.
kadmin -p <admin-user> -w <admin-password>RemarqueSi vous utilisez le KDC fourni par E-MapReduce, tenez compte des paramètres suivants :
<admin-user>: la valeur est fixée àroot/admin.<admin-password>: dans la console E-MapReduce, accédez à l'onglet Configure du service Kerberos pour obtenir la valeur du paramètre admin_pwd.
La sortie suivante indique que vous avez accédé à l'interface de ligne de commande
kadmin:Authenticating as principal root/admin with password. kadmin:
-
-
Exécutez la commande suivante pour créer un principal nommé
test.Dans cet exemple, le mot de passe est
123456.addprinc -pw 123456 testLa sortie suivante indique que le principal a été créé avec succès :
Principal "test@EMR.C-85D4B8D74296****.COM" created.RemarqueNotez le nom d'utilisateur et le mot de passe. Vous en aurez besoin pour créer un ticket d'octroi de ticket (TGT).
Exécutez la commande
quitpour quitter l'outiladmin.localde Kerberos. -
Connectez-vous à la machine sur laquelle vous souhaitez exécuter le client Hive, puis exécutez les commandes suivantes pour créer l'utilisateur
testet basculer vers celui-ci.useradd test su test -
Exécutez la commande suivante pour créer un TGT.
kinitAppuyez sur Entrée et saisissez le mot de passe de l'utilisateur
test. Dans cet exemple, le mot de passe est123456. -
Connectez-vous au client Hive.
-
Méthode 1 : exécutez la commande
hivepour accéder au client Hive.hive -
Méthode 2 : utilisez Beeline pour accéder au client Hive.
beeline -u "jdbc:hive2://master-1-1.c-56187feb57f0****.cn-hangzhou.emr.aliyuncs.com:10000/;principal=hive/_HOST@EMR.c-56187feb57f0****.COM"Remplacez les espaces réservés suivants par vos informations :
master-1-1.c-56187feb57f0****.cn-hangzhou.emr.aliyuncs.com: le nom d'hôte complet, y compris le nom de domaine. Vous pouvez obtenir le nom d'hôte en exécutant la commandehostname -fsur le nœud où s'exécute le service HiveServer2 (généralement le nœud master-1-1).EMR.c-56187feb57f0****.COM: le nom du realm. Dans la console E-MapReduce, accédez à l'onglet Configure du service Kerberos pour trouver la valeur du paramètrerealm.
-
Documentation connexe
Pour plus d'informations sur la création d'un principal, consultez la rubrique Database administration.
Pour plus d'informations sur la création d'un TGT, consultez la rubrique Kinit.