gpt4 book ai didi

amazon-web-services - 从 hadoop 访问 amazon S3 bucket 从命令行指定 SecretAccessKey

转载 作者:可可西里 更新时间:2023-11-01 16:21:46 26 4
gpt4 key购买 nike

我正在尝试使用 hdfs 命令访问 amazon S3 存储桶。这是我运行的命令:

$ hadoop fs -ls s3n://<ACCESSKEYID>:<SecretAccessKey>@<bucket-name>/tpt_files/
-ls: Invalid hostname in URI s3n://<ACCESSKEYID>:<SecretAccessKey>@<bucket-name>/tpt_files
Usage: hadoop fs [generic options] -ls [-d] [-h] [-R] [<path> ...]

我的 SecretAccessKey 包含“/”。这可能是造成这种行为的原因吗?

与此同时,我在此服务器上安装了 aws cli,我可以使用 aws cli 毫无问题地访问我的存储桶(在 .aws/credentials 中配置的 AccessKeyId 和 SecretAccessKey):

aws s3 ls s3:// <bucket-name>/tpt_files/

如果没有在 core-site.xml 中指定 key ,如何使用 Hadoop 命令访问 amazon S3 存储桶?我更喜欢在命令行中指定键。

任何建议都会很有帮助。

最佳答案

最佳实践是在使用 EC2 实例配置文件角色创建的实例上运行 hadoop,并将 S3 访问指定为分配角色的策略。使用实例配置文件时不再需要 key 。
http://docs.aws.amazon.com/java-sdk/latest/developer-guide/credentials.html

您还可以启动具有实例配置文件角色的 AMI,CLI 和 SDK 将使用它。如果您的代码使用 DefaultAWSCredentialsProviderChain 类,则可以通过环境变量、系统属性或凭证配置文件(以及 EC2 实例配置文件角色)获取凭证。

关于amazon-web-services - 从 hadoop 访问 amazon S3 bucket 从命令行指定 SecretAccessKey,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38405162/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com