我使用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:未找到凭据 配置中的帐户demostoragepoc.blob.core.windows.net, 并且其容器elckafka2无法使用匿名访问 证书。请首先检查容器是否存在。如果不是 公开可用,您必须提供帐户凭据。
谢谢!
答案 0 :(得分:0)
注意:存储帐户中未连接到的专用容器 集群:除非您不访问容器中的Blob 提交WebHCat作业时定义存储帐户。
为您的理解,我创建了以下三个容器;
如果使用HDInsight访问容器,则对于私有和 blob 公共访问级别,您将收到相同的错误消息,并为容器提供所需的输出公共访问级别。
有关更多详细信息,请参阅“ HDInsight Storage architecture”和“ Hadoop Azure Support: Azure Blob Storage”。
答案 1 :(得分:0)
在您的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>
然后确保将该文件传播到集群中所有节点的所有,并确保重新启动读取该文件的所有操作。