2017-02-06 29 views
1

Amazon EMRで動作するsparkクラスタがpostgresqlデータベースにアクセスする必要があるとします。それにログインとパスワードを与える最善の方法は何ですか? それらは、我々がしようとしているいくつかの方法があります。(パスワードはS3にプレーンテキストであるため、いない理想的な)EMRでスパークするためのパスワードの受け渡し方法

  • は、情報とS3上の設定ファイルを持っている
  • に火花-ENVの一環として、環境変数として渡しますEMR設定(エグゼキュータは環境変数にアクセスできないため動作しません。spark.executorEnv。[EnvironmentVariableName]を使用してspark configに設定できますが、これはspark設定ファイルのプレーンテキストにパスワードが必要です。 S3に入っていなければなりません)。

もっと良い方法がありますか?

答えて

0

EC2インスタンスメタデータを使用して、秘密を各ec2インスタンスにプッシュアップし、GET呼び出しを使用して取得することができます。理想的には、EMRクラスターの有効期間中のみ有効なログイン/パスワードを作成し、取り除いた後で削除するか(少なくともパスワードをリセットする)。

あり、このための明示的なサポートは、スパークでませんが、あなたはクラスパスにAWS SDKを取得する場合、あなたは

+0

それで動作するようにEC2MetadataUtilsを使用することができます私の知る限りEC2インスタンスのメタデータをプッシュする方法についてのドキュメントはありますか?私は何も見つけることができませんでした。 – user2944397

関連する問題