Hadoop環境で複数のAWSキーを使用する場合の回避策を教えてください。私のハープ・ジョブは、2つの異なるS3バケット(2つの異なるキー)にアクセスする必要があります。 "資格"プロバイダで試してみましたが、かなり限られているようです。すべてのキーを小文字で保存するため、あるジョブでは「s3a」、他のジョブでは「s3n」を使用できません。たとえば:Hadoop環境で複数のAWSキーを操作する
fs.s3n.awsAccessKeyId
fs.s3n.awsSecretAccessKey
しかし、私は "fs.s3n.awsAccessKeyId" とプロバイダを作成した場合、それはfs.s3n」として保存する:
fs.s3a.access.key
fs.s3a.secret.key
そしてS3N用:S3Aのために、それが検索されます。その結果、実行時に予想されるキーが読み込まれません。回避策として
、私は2つの異なる資格情報プロバイダを生成して渡そうとしました:
--Dhadoop.security.credential.provider.path=key1,key2
しかし、キーの両方がfs.s3a.access.key & FSを持っているとして、それはtogherを動作しませんでした。 s3a.secrety.keyペア。
表示されているとおり、-Dオプションを使用してアクセスと秘密鍵を渡したくありません。このシナリオを処理するためのよりよい方法はありますか?
両方のバケットにアクセスできるIAMクレデンシャルのセットが1つもないのはなぜですか? – jarmod
ええ、クロスアカウントであっても、アクセスできるアカウントから両方のバケットへのアクセスを許可するポリシーを作成することができます。 EC2でこれを実行している場合は、ec2インスタンスプロファイルを使用して、インスタンスとそのアクセスポリシーの両方の資格情報を指定します。 –