Как обеспечить, чтобы все основные узлы EMR всегда содержали файл хранилища ключей? - PullRequest
0 голосов
/ 27 июня 2019

Мне нужно, чтобы все основные узлы в EMR содержали файл хранилища ключей в каталоге / usr / local / spark / conf /. Это становится особенно сложным, когда происходит изменение размера главного узла, потому что у любого вновь созданного основного узла не будет файла хранилища ключей и даже не будет каталога / usr / local / spark / conf /. Мне нужно автоматизировать процесс заполнения этого каталога файлом хранилища ключей на любом вновь активированном главном узле.

Я создал сценарий оболочки для создания каталога / usr / local / spark / conf и затем заполнил его файлом хранилища ключей, загрузив его из Amazon S3. Проблема заключается в том, что этот сценарий оболочки автоматически запускается на любом вновь запущенном базовом узле EMR.

mkdir -p /usr/local/spark/conf/
cd /usr/local/spark/conf/
aws s3 cp s3://my_bucket/certs/cacerts .
aws s3 cp s3://my_bucket/certs/keystore.jks .

1 Ответ

0 голосов
/ 27 июня 2019

Да, вы можете использовать функцию действия начальной загрузки, чтобы запустить предопределенный сценарий из S3:

Вы можете использовать действие начальной загрузки, чтобы установить дополнительное программное обеспечение или настроить конфигурацию экземпляров кластера.Действия начальной загрузки - это сценарии, которые запускаются в кластере после того, как Amazon EMR запускает экземпляр с помощью Amazon Linux Amazon Machine Image (AMI).Действия начальной загрузки выполняются до того, как Amazon EMR установит приложения, указанные вами при создании кластера, и до того, как узлы кластера начнут обрабатывать данные.Если вы добавляете узлы в работающий кластер, действия по начальной загрузке также выполняются на этих узлах таким же образом.Вы можете создавать собственные действия начальной загрузки и указывать их при создании кластера.

См. https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-bootstrap.html

...