Hadoop "Разрешение отклонено (публикация, пароль, клавиатура-интерактивная)" предупреждение

Я следую этому руководству, чтобы установить Hadoop на свой компьютер. После завершения установки, когда я пытаюсь запустить Hadoop с помощью этой команды ./start-dfs.sh, он возвращает мне следующее:

U:sbin U$ ./start-dfs.sh
Starting namenodes on [localhost]
localhost: [email protected]: Permission denied (publickey,password,keyboard-interactive).
Starting datanodes
localhost: [email protected]: 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

Я несколько раз пытался удалить и установить его, чтобы перепроверить, что я что-то пропустил, но все равно получаю эту ошибку в конце. Посмотрев на некоторых онлайн-форумах, я обнаружил, что последнее предупреждение: WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform, не имеет большого значения, поскольку выдает ошибку, когда мы запускаем Hadoop на 64-битной машине. Пожалуйста, дайте мне знать, что означают две другие ошибки и как их исправить? Я перепробовал много решений, размещенных в интернете.

Ответ 1

Проблема в том, что когда вы пытаетесь передать ssh на сервер (в этом случае localhost), он пытается аутентифицировать вас, используя ваши учетные данные. И хранит эту информацию. Но здесь аутентификация без пароля не настроена, поэтому каждый раз, когда вы пытаетесь использовать ssh, он запрашивает у вас пароль, что является проблемой, если machines try to communicate with each other с помощью ssh. Таким образом, чтобы настроить пароль ssh, нам нужно добавить открытый ключ пользовательского компьютера к файлу сервера ~/.ssh/authorized_keys. В этом случае обе системы - это одни и те же машины.

Итак, короткая короткая команда запускает следующую команду.

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

Ответ 2

Выполните следующие шаги:

  1. Создайте новый кейген.

    ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
    
  2. Зарегистрировать ключ gen:

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

Ответ 3

Тем, кто все еще борется с этой ошибкой, мой ответ может помочь им. Если вы все сделали правильно и уже добавили ключи в авторизованные ключи, все, что вам нужно сделать, это удалить ваши id_rsa и id_rsa.pub (любые имена, которые вы использовали для файла пары ключей) и очистить ваши авторизованные ключи, короче говоря, просто сделайте откат, потому что вы могли указать пароль при генерации ключа rsa.

Так что просто сделайте одну вещь, создайте снова ключ RSA:

ssh-keygen -t rsa

Укажите имя файла (при появлении запроса): <your_filename>

И затем не дайте ему парольную фразу, а просто просто нажмите Enter, то есть оставьте это поле пустым, и, таким образом, вы никогда не увидите ошибку отказа в разрешении (Это сработало в моем случае.)

Ответ 4

Я сделал следующие 3 шага, чтобы создать пароль без логина

  1. ssh-keygen -t rsa (нажмите ввод для каждой строки)
  2. cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  3. chmod og-wx ~/.ssh/authorized_keys