Как подключиться по SSH ко всем экземплярам в кластере EC2?

Я только что создал кластер, используя spark-ec2 . Я выполнил шаги здесь http://spark.apache.org/docs/latest/ec2-scripts.html .

Теперь я хочу настроить все ведомые устройства (150), т. Е. установить Java 8 одновременно для главного и всех подчиненных устройств, есть ли быстрый и простой способ иметь один терминал для всех экземпляров (главного и подчиненных)?

0
задан 16 June 2016 в 20:15
3 ответа

Использование pssh может быть хорошее решение. Вот пример.

pssh -i -h /root/spark-ec2/slaves dir

Команда dir будет выполняться на всех ведомых устройствах. pssh предустановлен на всем кластере.

0
ответ дан 4 December 2019 в 12:23

В ответ на ваш исходный вопрос вы можете установить mpssh- Mass Parallel SSH и использовать его для выполнения команд на всех ваших экземплярах. При первом запуске вам может потребоваться 150 раз ввести «да», если вы не хотите игнорировать проверку ключа хоста.

1
ответ дан 4 December 2019 в 12:23

Вы можете сделать это с помощью команды запуска EC2, если у вас установлен этот агент, хотя он может лучше подходить для чего-то вроде конфигурации Cloud-Init , которую вы добавили пользовательские данные для каждого экземпляра.

В качестве альтернативы рассмотрите возможность использования AWS OpsWorks для настройки узлов по желанию во время загрузки или создания золотого образа с помощью Packer , чтобы конфигурация размещалась во время сборки, а не во время загрузки.

Настройка 150. узлов через cluster-ssh - это рецепт несогласованности на всех ваших узлах, и это будет проблемой, если один из узлов потребуется заменить / повторно подготовить.

Ansible, Puppet, Salt, CFEngine - другие инструменты, которые могут это делать, но не «интерактивно».

2
ответ дан 4 December 2019 в 12:23

Теги

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