目前,我正在 Azure VM 中运行我的应用程序,该 VM 连接到 HDInsight Spark 群集,用户名为 hdfs。
我已创建 HDInsight Spark 群集,其主存储类型为 Azure 存储别名 WASB。
我相信以下方法可用于验证 WASB 存储:-
- Storage Access Keys - 我从 Azure 存储帐户获取存储 key ,并在 core-site.xml 中按如下方式使用
<property> <name>fs.azure.account.key.StorageAccountName.blob.core.windows.net</name> <value>Storage access key here</value> </property>
此处的 SAS token 、Blob、文件、队列、文件 URL - 请参阅
如何使用上述 SAS 凭证(例如 core-site.xml 中的存储访问 key )或应在我的应用程序中使用它?
最佳答案
根据下面的官方文档,可以使用java库 hadoop-azure
& azure-storage
使用Azure Blob存储的帐户 key 或SAS访问资源url wasb[s]://<containername>@<accountname>.blob.core.windows.net/<path>
或hdfs://<namenodehost>/<path>
在 HDInsight 文件系统上。
-
Hadoop Azure Support: Azure Blob Storage
-
Use HDFS-compatible Azure Blob storage with Hadoop in HDInsight
-
Use Azure Storage Shared Access Signatures to restrict access to data with HDInsight
因此,如果您想使用HDFS API访问HDInsight上的资源,请检查Hadoop的身份验证配置,以了解可以使用哪种身份验证方式。或者您也可以直接使用 Azure Storage Client SDK for Java 和帐户 key 或 SAS token 来访问这些资源。
关于java - 如何使用java中的身份验证方法连接Azure VM上的WASB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41391006/