在同一个IBM帐户下访问多个COS实例

时间:2019-06-26 17:35:54

标签: hadoop amazon-s3 hive ibm-cloud ibm-cloud-storage

我正在尝试访问同一个IBM帐户下的多个COS实例。我看到每个COS实例都有不同的accesskey,secret-key。 hive.xml(fs.s3a.access.key,fs.s3a.secret.key)中的属性一次只能接受一个值。如果我提供多个accesskey,则像access.key1这样的secretkeys不能作为蜂巢工作,它无法理解该密钥属于哪个实例。解决此问题的任何建议或替代方法。与仅作为存储桶的亚马逊s3相比,IBM云存储还具有一个额外的COS实例层->存储桶。对于不熟悉IBM Cloud的人,可以考虑以下问题:是否可以在同一配置单元配置中引​​用两个不同的s3帐户。因为这两个不同的s3帐户将具有不同的密钥对。 注意:注意多个cos实例是IBM云专用术语。在aws上下文中,所有s3存储桶均由存储桶标识。

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>```

2 个答案:

答案 0 :(得分:0)

听起来像您使用的是较旧的IaaS COS设置。

理想情况下,您将迁移到较新的启用IAM的服务,在该服务中,您可以轻松地对要授予访问权限的任何服务实例或存储桶使用一组凭据。这是因为IAM会将凭据分配给身份而不是服务实例(或“存储帐户”,术语可能不一致)。

凭据可以与“服务ID”相关联,并且“服务ID”(基本上是非人类用户)可以成为访问策略的主题,这些访问策略在您希望该ID访问的每个实例上授予角色。

通常,拥有多个实例的主要原因是为了提供更详细的计费信息-实例中的数据量或存储桶中的对象数量没有实际限制(尽管实例中的存储桶数量在大多数情况下应限制为数百个。

此外,作为一个有趣的事实,“实例”有点用词不当。 COS是真正的多租户系统-整个公共云都是COS的单个实例(启用IaaS和启用IAM的实际上是进入同一系统的不同窗口)。因此,当您设置新的“实例”时,实际上可以访问在现有系统的可计费实体中创建新存储桶的权限,但实际上并没有为您带来新的变化。

答案 1 :(得分:0)

这不是异常情况;即使在AWS S3中,跨帐户的distcp也很常见。

Hadoop 2.8+支持“每个存储桶配置”,您可以在其中为各个存储桶定义机密(以及其他任何选项):per bucket configuration

这应该足够了。

相关问题