Публикация приложения HDInsight в Azure Marketplace
Вы можете установить приложения Azure HDInsight в кластере HDInsight под управлением Linux. В этой статье описано, как опубликовать приложение HDInsight в Azure Marketplace. Общие сведения о публикации в Azure Marketplace см. в статье Публикация предложения и управление им в Azure Marketplace.
В приложениях HDInsight используется модель с использованием собственной лицензии (BYOL). В сценарии BYOL поставщик приложения отвечает за предоставление лицензии пользователям приложения. С пользователей приложения плата взимается только за созданные ресурсы Azure, например кластер HDInsight, виртуальные машины и узлы кластера. Сейчас счета за само приложение не выставляются в Azure.
Дополнительные сведения см. в этих статьях о приложении HDInsight:
- Установка сторонних приложений Hadoop в Azure HDInsight. Узнайте, как установить приложение HDInsight в кластерах.
- Установка пользовательских приложений Hadoop в Azure HDInsight. Узнайте, как устанавливать и тестировать пользовательские приложения HDInsight.
Предварительные требования
Чтобы отправить пользовательское приложение в Marketplace, необходимо сначала создать и протестировать его.
Также вы должны зарегистрировать учетную запись разработчика. Дополнительные сведения см. в статье Публикация предложения и управление им в Azure Marketplace и Создание учетной записи разработчика Майкрософт.
Определение приложения
Публикация приложений в Marketplace осуществляется в два этапа. Сначала определите файл createUiDef.json. Файл createUiDef.json указывает, с какими кластерами совместимо ваше приложение. Затем опубликуйте шаблон с помощью портала Azure. Вот пример файла createUiDef.json:
{
"handler": "Microsoft.HDInsight",
"version": "0.0.1-preview",
"clusterFilters": {
"types": ["Hadoop", "HBase", "Spark"],
"versions": ["4.0"]
}
}
Поле | Описание | Возможные значения |
---|---|---|
types | Типы кластеров, совместимые с приложением. | Hadoop, HBase, Spark (или любое их сочетание) |
versions | Версии кластеров HDInsight, совместимые с приложением. | 3.4 |
Сценарий установки приложения
После установки приложения в кластере (в имеющемся или в новом) создается граничный узел. Сценарий установки приложения выполняется на граничном узле.
Важно!
Имя сценария установки приложения должно быть уникальным для конкретного кластера и иметь следующий формат:
"name": "[concat('hue-install-v0','-' ,uniquestring(‘applicationName’)]"
Имя сценария состоит из трех частей:
- Префикс имени, который состоит из имени приложения или имени, которое связано с приложением.
- Дефис (-) для удобочитаемости.
- Уникальная строковая функция с именем приложения в качестве параметра.
В предыдущем примере в сохраненном списке действий сценария имя будет выглядеть так: hue-install-v0-4wkahss55hlas. Для дополнительной информации см. пример полезных данных JSON.
Сценарий установки должен иметь следующие характеристики:
- Сценарий должен быть идемпотентным. Несколько вызовов сценария дают одинаковый результат.
- Сценарий должен иметь подходящую версию. Используйте другое расположение для сценария при обновлении или тестировании изменений. Таким образом, это не повлияет на пользователей, которые устанавливают приложение.
- В сценарии есть необходимые вызовы для ведения журналов. Обычно устранить проблемы при установке приложения можно только с помощью журналов сценариев.
- Вызовы к внешним службам и ресурсам имеют достаточно повторных попыток, чтобы на установку не влияли временные неполадки сети.
- Если сценарий запускает службы на узлах, они отслеживаются и настраиваются для автоматического запуска в случае перезагрузки узла.
Создание пакета приложения
Создайте ZIP-файл, содержащий все необходимые файлы для установки приложений HDInsight. Используйте этот ZIP-файл, чтобы опубликовать приложение. Этот ZIP-файл содержит следующие файлы:
- createUiDefinition.json;
- mainTemplate.json (пример см. в статье Установка пользовательских приложений Hadoop в Azure HDInsight);
- все необходимые сценарии.
Примечание
Вы можете разместить файлы приложения (включая все файлы веб-приложения) на любой общедоступной конечной точке.
Публикация приложения
Чтобы опубликовать приложение HDInsight, сделайте следующее:
Войдите на Портал публикации Azure.
В меню слева выберите Solution templates (Шаблоны решений).
Введите заголовок и нажмите Create a new solution template (Создать шаблон решения).
Щелкните Create Dev Center account and join the Azure program (Создать учетную запись центра разработчиков и присоединиться к программе Azure), чтобы зарегистрировать свою компанию, если вы еще этого не сделали. Дополнительные сведения см. в статье Создание учетной записи разработчика Майкрософт.
Выберите Define some Topologies to get Started (Определить некоторые топологии и начать работу). Шаблон решения служит родительским элементом для всех своих топологий. В одном шаблоне предложений или решения можно определить сразу несколько топологий. Когда предложение переходит к стадии промежуточного развертывания, вместе с ним отправляются все его топологии.
Введите имя топологии, а затем выберите + .
Введите новую версию, а затем выберите + .
Отправьте ZIP-файл, созданный при создании пакета приложения.
Выберите Request Certification (Запросить сертификацию). Команда сертификации Майкрософт проверяет файлы и выполняет сертификацию топологии.
Дальнейшие действия
- Инструкции по установке приложений HDInsight в кластерах.
- Инструкции по установке пользовательских приложений HDInsight и развертывании в HDInsight неопубликованного приложения HDInsight.
- Инструкции по настройке кластеров HDInsight под управлением Linux с помощью действия сценария и добавлению других приложений.
- Инструкции по созданию кластера Apache Hadoop под управлением Linux в HDInsight с помощью шаблонов Azure Resource Manager.
- Инструкции по использованию пустых граничных узлов в HDInsight, чтобы получить доступ к кластеру HDInsight, а также тестировать и разместить приложения HDInsight.