2017-02-06 9 views
1

Скажите, что ваш искровой кластер, работающий на Amazon EMR, должен получить доступ к базе данных postgresql. Каков наилучший способ дать ему логин и пароль? Таковы некоторые способы, которыми мы попробовали:Как пропустить пароли для искры на EMR

  • Есть файл конфигурации на S3 с информацией (не идеальный, так как пароль в виде простого текста на S3)
  • Передайте его в качестве переменной среды как части искрового окр на Настройки EMR (не работают, поскольку исполнители не имеют доступа к переменным окружения. Его можно установить в конфигурации искры с помощью spark.executorEnv. [EnvironmentVariableName], но для этого потребуется снова пароль, который будет иметь простой текст в конфигурационном файле искры, который также должны быть в S3).

Есть ли лучший способ, которым я не хватает?

ответ

0

вы можете использовать метаданные экземпляра EC2, чтобы отжать секрет каждого экземпляра ec2, используя GET-вызовы для его получения. В идеале создайте логин/пароль только для срока действия кластера EMR, удалив его (или, по крайней мере, сбросив пароль) после его срыва.

AFAIK нет явной поддержки для этого в Искре, но если вы получаете AWS SDK на пути к классам, вы можете использовать EC2MetadataUtils работать с ним

+0

Есть ли документация о том, как нажать EC2 метаданных экземпляра? Я ничего не мог найти. – user2944397

 Смежные вопросы

  • Нет связанных вопросов^_^