#hadoop
#hadoop
Вопрос:
Я пытаюсь настроить многоузловой кластер, у меня есть 3 машины, одна из которых действует как namenode и datanode, а две другие — как datanode . У меня разные имена пользователей для всех компьютеров, у узла 1 есть имя пользователя hdfsadmin, у узла 2 есть имя пользователя hduser, а у узла 3 также есть имя пользователя hduser. Проблема в том, что Hadoop выдает ошибку «отказано в подключении», когда я пытаюсь подключиться к datanode, поскольку он ожидает, что для datanodes будет то же имя, что и для namenode, который в моем случае отличается. Как мне решить эту проблему?
Заранее спасибо
Комментарии:
1. можете ли вы поделиться точными журналами?
2. Настроили ли вы ssh без пароля между этими узлами и пользователями ..?
3. Да, я его настроил, но для подключения по ssh между двумя компьютерами вам также необходимо указать имена пользователей, например. имя хоста ssh будет принимать имя хоста компьютера, на котором вы в данный момент вошли в систему, для подключения по ssh к другому компьютеру с другим именем пользователя нам нужно будет запустить ssh username@hostname, и в этом заключается проблема .
Ответ №1:
Нет, необязательно иметь одно и то же имя хоста для всех узлов. Пожалуйста, перепроверьте следующее:
1) Убедитесь, что вы можете подключиться по ssh к другому узлу.
2) Убедитесь, что вы определили все имена хостов в файле /etc/hosts с IP-адресом.
hadoopmnmaster 192.168.56.11
hadoopmnslave1 192.168.56.12
hadoopmnslave2 192.168.56.13
hadoopmnslave3 192.168.56.14
3) Внесите запись в узлы master / slave в файле master / slave в каталоге conf.
4) Убедитесь, что демоны запущены на каждом узле.
Если все вышеперечисленное соответствует требованиям, то ваш кластер должен работать нормально.
Комментарии:
1. Я говорю об имени пользователя, а не об имени хоста.
Ответ №2:
Вы должны обновить каждый ssh-ключ ‘ssh-keygen -R username’, он обновит все ssh-ключи, и вам будет разрешен доступ