Публикация приложения HDInsight в Azure Marketplace

Вы можете установить приложения Azure HDInsight в кластере HDInsight под управлением Linux. В этой статье описано, как опубликовать приложение HDInsight в Azure Marketplace. Общие сведения о публикации в Azure Marketplace см. в статье Публикация предложения и управление им в Azure Marketplace.

В приложениях HDInsight используется модель с использованием собственной лицензии (BYOL). В сценарии BYOL поставщик приложения отвечает за предоставление лицензии пользователям приложения. С пользователей приложения плата взимается только за созданные ресурсы Azure, например кластер HDInsight, виртуальные машины и узлы кластера. Сейчас счета за само приложение не выставляются в Azure.

Дополнительные сведения см. в этих статьях о приложении 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-файл содержит следующие файлы:

Примечание

Вы можете разместить файлы приложения (включая все файлы веб-приложения) на любой общедоступной конечной точке.

Публикация приложения

Чтобы опубликовать приложение HDInsight, сделайте следующее:

  1. Войдите на Портал публикации Azure.

  2. В меню слева выберите Solution templates (Шаблоны решений).

  3. Введите заголовок и нажмите Create a new solution template (Создать шаблон решения).

  4. Щелкните Create Dev Center account and join the Azure program (Создать учетную запись центра разработчиков и присоединиться к программе Azure), чтобы зарегистрировать свою компанию, если вы еще этого не сделали. Дополнительные сведения см. в статье Создание учетной записи разработчика Майкрософт.

  5. Выберите Define some Topologies to get Started (Определить некоторые топологии и начать работу). Шаблон решения служит родительским элементом для всех своих топологий. В одном шаблоне предложений или решения можно определить сразу несколько топологий. Когда предложение переходит к стадии промежуточного развертывания, вместе с ним отправляются все его топологии.

  6. Введите имя топологии, а затем выберите + .

  7. Введите новую версию, а затем выберите + .

  8. Отправьте ZIP-файл, созданный при создании пакета приложения.

  9. Выберите Request Certification (Запросить сертификацию). Команда сертификации Майкрософт проверяет файлы и выполняет сертификацию топологии.

Дальнейшие действия