HDInsight Kafka Cluster не может получить доступ к основной учетной записи BLOB-хранилища
Я включил кластер Kafka с хранилищем BLOB-объектов (общего назначения v1) в качестве основного хранилища. Нет другого хранилища прилагается. Однако узлы кафки не могут получить доступ к 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 недоступен с использованием анонимных учетных данных. Пожалуйста, проверьте, существует ли контейнер первым. Если он не является общедоступным, вы должны предоставить учетные данные.
Спасибо!
1 ответ
Примечание. Частные контейнеры в учетных записях хранения, которые НЕ подключены к кластеру: вы не сможете получить доступ к большим двоичным объектам в контейнерах, если не определите учетную запись хранения при отправке заданий WebHCat.
Для вашего понимания я создал три контейнера следующим образом;
Если вы обращаетесь к контейнерам с помощью HDInsight, вы получите одно и то же сообщение об ошибке для уровня частного доступа и общего доступа к BLOB- объектам и даст желаемый результат для уровня открытого доступа Контейнера.
Дополнительные сведения см. В разделе " Архитектура хранилища HDInsight " и " Поддержка Hadoop Azure: хранилище BLOB-объектов Azure ".
В вашем 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>
Затем убедитесь, что этот файл распространяется на все узлы в вашем кластере, и обязательно перезапустите все, что читает этот файл.