【问题标题】:Accessing Multiple COS instance under the same IBM account同一个IBM账号下访问多个COS实例
【发布时间】:2019-11-08 17:24:36
【问题描述】:

我正在尝试访问同一个 IBM 帐户下的多个 COS 实例。我看到每个 COS 实例都有不同的 accesskey、secret-key。 hive.xml(fs.s3a.access.key,fs.s3a.secret.key) 中的属性对于一个实例一次只能接受一个值。如果我提供多个访问密钥,那么像 access.key1 这样的密钥就不能正常工作,因为 hive 不知道该密钥属于哪个实例。解决此问题的任何建议或替代方法。与只有存储桶的亚马逊 s3 相比,IBM 云存储多了一层 COS 实例--> 存储桶。对于不熟悉 IBM 云的人来说,这个问题可以被认为是,是否可以在同一个 hive 配置中引用两个不同的 s3 帐户。因为这两个不同的 s3 账户会有不同的密钥对。 注意:注意 多个 cos 实例 是 IBM 云的特定术语。在 aws 的上下文中,所有 s3 存储桶都由存储桶标识。

1.多个 cos 实例的多个 hive 实例。这件事很有效,但我觉得我们最终可能会有 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>```

【问题讨论】:

  • 你如何处理这些数据?一些连接器允许按桶进行身份验证,因此可以访问多个帐户,而不仅仅是 IBM。

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


【解决方案1】:

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

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

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

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

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

【讨论】:

    【解决方案2】:

    这不是一个不寻常的情况;即使在 AWS S3 中,跨账户的 distcp 也很常见。

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

    这应该足够了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-23
      • 1970-01-01
      • 2011-06-04
      • 1970-01-01
      • 2020-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多