在同一ibm帐户下访问多个cos示例

khbbv19g  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(365)

我正在尝试访问多个cos示例,它们位于同一ibm帐户下。我看到每个cos示例都有不同的accesskey,secret key。对于一个示例,hive.xml中的属性(fs.s3a.access.key、fs.s3a.secret.key)一次只能接受一个值。如果我提供多个accesskeys,那么像access.key1这样的secretkeys它不作为配置单元工作就不知道这个密钥属于哪个示例。任何解决此问题的建议或替代方案。与amazons3相比,ibmcloud存储有一个额外的cos示例-->存储桶层,amazons3只提供存储桶。对于不熟悉ibmcloud的人来说,这个问题可以被认为是,是否可以在同一个配置单元中引用两个不同的s3帐户。因为这两个不同的s3帐户将有不同的密钥对。note:notice multiple cos示例是ibm云特定的术语。在aws的上下文中,所有s3 bucket都由bucket标识。
1.多个配置单元示例用于多个cos示例。这个东西没用,但我觉得我们可能会有n个示例。2尝试在core-site.xml中添加更多属性,如(fs.s3a.secret.key,fs.s3a.secret1.key),但这对第二个示例不起作用。

<name>fs.s3a.endpoint</name>
       <value>xxxxxxxx</value>
</property>
<property>
     <name>fs.s3a.access.key</name>
     <value>xxxxxxxx</value>
</property>
<property>
     <name>fs.s3a.secret.key</name>
     <value>xxxxxxxx</value>
   </property>```
eni9jsuy

eni9jsuy1#

听起来像是你使用了一个旧的iaas cos设置。
理想情况下,您应该迁移到较新的启用iam的服务,在该服务中,您可以轻松地为要授予访问权限的服务示例或存储桶使用一组凭据。这是因为iam将凭据分配给标识,而不是服务示例(或存储帐户,术语可能不一致)。
凭据可以与“服务id”相关联,并且“服务id”(基本上是非人类用户)可以是访问策略的主题,这些策略在您希望id访问的每个示例上授予角色。
通常,拥有多个示例的主要原因是为了在计费中提供更高的粒度—对示例中的数据量或bucket中的对象数没有实际限制(尽管在大多数情况下,示例中的bucket数应限制为数百)。
另外,作为一个有趣的事实,“示例”有点用词不当。cos是一个真正的多租户系统-整个公共云是cos的一个示例(iaas和iam启用实际上是同一个系统中的不同窗口)。因此,当您提供一个新的“示例”时,您实际上获得了在现有系统中的可计费实体中创建新bucket的权限,但实际上没有为您提供任何新的内容。

wztqucjr

wztqucjr2#

这种情况并不罕见;跨帐户的distcp即使在awss3中也很常见。
hadoop2.8+支持“每个bucket配置”,在这里您可以定义每个bucket的秘密(以及任何其他选项):每个bucket配置
这应该足够了。

相关问题