12.10. 云提供商集成

12.10.1. AWS凭据集成

GeoMesa HBase和文件系统处理器通过可配置的 AWSCredentialsProviderService 。这为访问S3提供了可插拔的凭据,S3可用作HBase和文件系统数据存储的后备对象存储。

12.10.2. 集成Azure的GetHDFS处理器

可以使用 Hadoop Azure Support 使用HDFS访问Azure Blob存储。您可以利用此功能让GetHDFS处理器直接从Azure Blob存储拉取数据。但是,由于GetHDFS处理器的编写方式, fs.defaultFS 访问时始终使用配置属性 wasb:// URI。这意味着 wasb:// 您希望GetHDFS处理器连接到的容器必须在HDFS中硬编码 core-site.xml 配置。这导致了两个问题。首先,这意味着我们只能在Azure上的一个帐户中连接到一个容器。其次,在同时运行GeoMesa-Acumulo的服务器上使用NiFi时,它会导致问题 fs.defaultFS 属性需要设置为正确的HDFS主NameNode。

有两种方法可以绕过这个问题。您可以维护一个 core-site.xml 为您想要访问的每个容器创建一个文件,但从长远来看,这并不容易扩展或维护。更好的选择是保留默认设置 fs.defaultFS HDFS中的价值 core-site.xml 文件。然后,我们可以利用 Hadoop Configuration Resources GetHDFS处理器中的。通常情况下,您会将 Hadoop Configuration Resources 属性设置为 core-site.xml 以及 hdfs-site.xml 档案。相反,我们将创建一个附加文件并将其包括在路径的最后,以便它覆盖 fs.defaultFS 在生成配置对象时。为此,只需使用适当的名称创建一个新的XML文件(我们建议使用容器的名称)。插入 fs.defaultFS 属性添加到文件中,并设置该值。

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>wasb://container@accountName.blob.core.windows.net/</value>
    </property>
</configuration>