Amazon web services 通过命令行指定SecretAccessKey从hadoop访问AmazonS3 bucket

Amazon web services 通过命令行指定SecretAccessKey从hadoop访问AmazonS3 bucket,amazon-web-services,hadoop,amazon-s3,hdfs,Amazon Web Services,Hadoop,Amazon S3,Hdfs,我正在尝试使用hdfs命令访问amazons3存储桶。下面是我运行的命令: $ hadoop fs -ls s3n://<ACCESSKEYID>:<SecretAccessKey>@<bucket-name>/tpt_files/ -ls: Invalid hostname in URI s3n://<ACCESSKEYID>:<SecretAccessKey>@<bucket-name>/tpt_files Usage:

我正在尝试使用hdfs命令访问amazons3存储桶。下面是我运行的命令:

$ 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> ...]
如果有任何方法可以在不在core-site.xml中指定键的情况下使用Hadoop命令访问amazon S3 bucket?我更喜欢在命令行中指定键


任何建议都会非常有用。

最佳实践是在使用EC2实例配置文件角色创建的实例上运行hadoop,并且S3访问被指定为指定角色的策略。使用实例配置文件时不再需要密钥。

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

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