pdsh работает хорошо автономный, но не работает в сценарии

Я пытаюсь установить 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
2
задан 1 November 2014 в 18:41

2 ответа

Так как эта ошибка прибывает из базового процесса 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 также.

1
ответ дан 20 November 2019 в 02:10

"Проверка ключа хоста, неудавшаяся", от базового процесса 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.
[...]
0
ответ дан 20 November 2019 в 02:10

Другие вопросы по тегам:

Похожие вопросы: