web-dev-qa-db-fra.com

Avertissement Hadoop "Autorisation refusée (publickey, mot de passe, clavier interactif)"

Je suis le ce tutoriel pour installer Hadoop sur mon ordinateur. Une fois l'installation terminée, lorsque je tente de lancer Hadoop à l'aide de la commande ./start-dfs.sh, les informations suivantes me sont renvoyées: 

U:sbin U$ ./start-dfs.sh
Starting namenodes on [localhost]
localhost: U@localhost: Permission denied (publickey,password,keyboard-interactive).
Starting datanodes
localhost: U@localhost: Permission denied (publickey,password,keyboard-interactive).
Starting secondary namenodes [U.local]
U.local: [email protected]: Permission denied (publickey,password,keyboard-interactive).
2018-02-25 14:52:15,505 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-Java classes where applicable

J'ai essayé de désinstaller et d'installer plusieurs fois pour vérifier si j'avais oublié quelque chose, mais j'obtiens toujours cette erreur à la fin. Après avoir consulté certains forums en ligne, je me suis rendu compte que le dernier avertissement: WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform n’était pas grave, car c’était l’erreur lorsque nous exécutions Hadoop sur une machine 64 bits. Voulez-vous s'il vous plaît laissez-moi savoir ce que signifient les deux autres erreurs et comment les corriger? J'ai essayé de nombreuses solutions postées sur Internet. 

5
JJ123

Le problème est que lorsque vous essayez de ssh sur un serveur (dans ce cas, localhost), il essaie de vous authentifier à l'aide de vos informations d'identification. Et stocke cette information. Mais ici, l'authentification sans mot de passe n'est pas configurée, donc chaque fois que vous essayez de ssh, il vous demandera votre mot de passe, ce qui pose un problème si machines try to communicate with each other utilise ssh. Donc, pour configurer ssh sans mot de passe, nous devons ajouter la clé publique de la machine utilisateur au fichier ~/.ssh/authorized_keys de la machine serveur. Dans ce cas, les deux systèmes sont identiques. 

So Long story court exécuter la commande suivante.

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
12
sapy

Passez aux étapes suivantes:

  1. Générez un nouveau keygen.

    ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
    
  2. Enregistrer la clé gen:

    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    
12
KayV

Ma réponse pourrait aider ceux qui ont encore du mal à résoudre cette erreur… .. Si vous avez tout fait correctement et que vous avez déjà ajouté des clés dans allowed_keys, il vous suffira alors de supprimer id_rsa et id_rsa.pub quels que soient les noms que vous avez utilisés pour le fichier de paire de clés) et videz vos allowed_keys, bref, effectuez simplement une restauration, car vous avez peut-être donné un mot de passe lors de la génération de la clé rsa.

Donc, faites juste une chose, créez à nouveau la clé RSA en:

ssh-keygen -t rsa

Donnez le nom du fichier (à l'invite): <votre_fichier>

Et puis ne lui donnez pas de phrase secrète et appuyez simplement sur Entrée , c'est-à-dire, laissez-le vide et vous ne verrez donc jamais l'erreur d'autorisation refusée (Cela a fonctionné dans mon cas.)

0