HDInsight Kafka 集群无法访问主存储 Blob 帐户
HDInsight Kafka Cluster not able to access primary storage Blob account
我使用 blob 存储(通用 v1)作为主要存储来构建 Kafka 集群。没有附加其他存储。但是,kafka 节点无法访问同一存储上的 blob 文件。 Spark/R 集群可以访问同一 blob 上的文件。
我创建了另一个 kafka 集群,但问题仍然存在。我为每个集群提供了不同的容器名称。
命令:hdfs dfs -ls wasb://elckafka2@demostoragepoc.blob.core.windows.net/
错误:
ls: org.apache.hadoop.fs.azure.AzureException: No credentials found
for account demostoragepoc.blob.core.windows.net in the configuration,
and its container elckafka2 is not accessible using anonymous
credentials. Please check if the container exists first. If it is not
publicly available, you have to provide account credentials.
谢谢!
Note: Private containers in storage accounts that are NOT connected to
a cluster: You can't access the blobs in the containers unless you
define the storage account when you submit the WebHCat jobs.
为了您的理解,我创建了三个容器如下;
如果您使用 HDInsight 访问容器,对于 private 和 blob public 访问级别,您将收到相同的错误消息并为 Container public 访问级别提供所需的输出。
详情请参考“HDInsight Storage architecture” and “Hadoop Azure Support: Azure Blob Storage”。
在您的 core-site.xml
中,确保您拥有:
<property>
<name>fs.default.name</name>
<value>wasb://default@(your account name).blob.core.windows.net</value>
</property>
<property>
<name>fs.azure.account.key.(your account naume).blob.core.windows.net</name>
<value>(your long hash value from the portal)</value>
</property>
然后确保此文件传播到群集中的 所有 节点,并确保重新启动读取此文件的所有节点。
我使用 blob 存储(通用 v1)作为主要存储来构建 Kafka 集群。没有附加其他存储。但是,kafka 节点无法访问同一存储上的 blob 文件。 Spark/R 集群可以访问同一 blob 上的文件。 我创建了另一个 kafka 集群,但问题仍然存在。我为每个集群提供了不同的容器名称。
命令:hdfs dfs -ls wasb://elckafka2@demostoragepoc.blob.core.windows.net/
错误:
ls: org.apache.hadoop.fs.azure.AzureException: No credentials found for account demostoragepoc.blob.core.windows.net in the configuration, and its container elckafka2 is not accessible using anonymous credentials. Please check if the container exists first. If it is not publicly available, you have to provide account credentials.
谢谢!
Note: Private containers in storage accounts that are NOT connected to a cluster: You can't access the blobs in the containers unless you define the storage account when you submit the WebHCat jobs.
为了您的理解,我创建了三个容器如下;
如果您使用 HDInsight 访问容器,对于 private 和 blob public 访问级别,您将收到相同的错误消息并为 Container public 访问级别提供所需的输出。
详情请参考“HDInsight Storage architecture” and “Hadoop Azure Support: Azure Blob Storage”。
在您的 core-site.xml
中,确保您拥有:
<property>
<name>fs.default.name</name>
<value>wasb://default@(your account name).blob.core.windows.net</value>
</property>
<property>
<name>fs.azure.account.key.(your account naume).blob.core.windows.net</name>
<value>(your long hash value from the portal)</value>
</property>
然后确保此文件传播到群集中的 所有 节点,并确保重新启动读取此文件的所有节点。