Я пытаюсь установить hadoop с помощью сценария на моем небольшом кластере [представленный в книге: Apache Пряжа Hadoop]. Я настроил подключение ssh без пароля, и pdsh&pdcp являются всем штрафом, если я использую его один. Проблема состоит в том, когда я поместил команду в сценарий, pdsh и сбой pdcp. Я действительно не понимаю, где идет не так, как надо.
работы, когда использование это автономный:
pdcp -R ssh -w ^all_hosts hadoop-2.5.1.tar.gz /opt
вот часть сценария, который не работает: Целый сценарий щелкает здесь
#!/bin/bash HADOOP_VERSION=2.5.1 install() { echo "Copying Hadoop $HADOOP_VERSION to all hosts..." pdcp -R ssh -w ^all_hosts hadoop-"$HADOOP_VERSION".tar.gz /opt ....
файл all_hosts похож на этот (имя хоста):
dave micheal jose
ошибка:
micheal: Host key verification failed. pdcp@dave: micheal: ssh exited with exit code 255 jose: Host key verification failed. pdcp@dave: jose: ssh exited with exit code 255 dave: Host key verification failed. pdcp@dave: dave: ssh exited with exit code 255
Так как эта ошибка прибывает из базового процесса SSH, мы можем на самом деле передать опцию ему или к автоматически добавить хост известных хостов или проигнорировать ключ хоста, проверяющий это время. Можно использовать PDSH_SSH_ARGS_APPEND
переменная среды для передачи этих опций базовому процессу.
PDSH_SSH_ARGS_APPEND="-o StrictHostKeyChecking=no" pdcp -R ssh -w ^all_hosts hadoop-2.5.1.tar.gz /opt
Эта переменная среды работает на прямой pdsh также.
"Проверка ключа хоста, неудавшаяся", от базового процесса SSH. См. pdcp (1) :
При использовании ssh для удаленного выполнения, stderr ssh, который будет свернут в с той из удаленной команды. Когда вызвано pdcp, для ssh не возможно запросить подтверждение, если ключ хоста изменяется, подсказка для паролей, если ключи RSA не настроены правильно и т.д.
решение для А состояло бы в том, чтобы соединиться со всеми хостами в all_hosts
однажды прежде и признать, что их ключи хоста или к отключают (!) StrictHostKeyChecking для упомянутых хостов:
$ cat ~/.ssh/config Host dave micheal jose StrictHostKeyChecking no $ pdcp -R ssh -w ^all_hosts mate-terminal /opt sid0: Warning: Permanently added 'micheal,192.168.0.130' (ED25519) to the list of known hosts. [...]