Pubblicare un'applicazione HDInsight in Azure MarketplacePublish an HDInsight application in the Azure Marketplace

È possibile installare un'applicazione Azure HDInsight in un cluster HDInsight basato su Linux.You can install an Azure HDInsight application on a Linux-based HDInsight cluster. Questo articolo fornisce informazioni su come pubblicare un'applicazione HDInsight in Azure Marketplace.In this article, learn how to publish an HDInsight application in the Azure Marketplace. Per informazioni generali sulla pubblicazione in Azure Marketplace, vedere Pubblicare un'offerta in Azure Marketplace.For general information about publishing in the Azure Marketplace, see Publish an offer in the Azure Marketplace.

Le applicazioni HDInsight usano il modello Bring Your Own License (BYOL).HDInsight applications use the Bring Your Own License (BYOL) model. In uno scenario BYOL il provider di un'applicazione è responsabile della concessione in licenza dell'applicazione agli utenti dell'app.In a BYOL scenario, an application provider is responsible for licensing the application to app users. Gli utenti dell'app pagano solo le risorse di Azure che creano, come il cluster HDInsight e i nodi e le macchine virtuali del cluster.App users are charged only for the Azure resources they create, such as the HDInsight cluster, and the cluster's VMs and nodes. Attualmente, la fatturazione per l'applicazione non avviene in Azure.Currently, billing for the application itself doesn't occur in Azure.

Per altre informazioni, vedere questi articoli correlati alle applicazioni HDInsight:For more information, see these HDInsight application-related articles:

prerequisitiPrerequisites

Prima dell'invio al Marketplace, è necessario creare e testare l'applicazione personalizzata.To submit your custom application in the Marketplace, first, create and test your custom application.

È anche necessario registrare l'account per sviluppatore.You also must register your developer account. Per altre informazioni, vedere Pubblicare un'offerta in Azure Marketplace e Creare un account di Microsoft Developer.For more information, see Publish an offer in the Azure Marketplace and Create a Microsoft Developer account.

Definire l'applicazioneDefine the application

Per la pubblicazione di applicazioni nel Marketplace sono necessari due passaggi.Two steps are involved in publishing applications in the Marketplace. Definire prima di tutto un file createUiDef.json.First, define a createUiDef.json file. Il file createUiDef.json indica i cluster con cui l'applicazione è compatibile.The createUiDef.json file indicates which clusters your application is compatible with. Pubblicare quindi il modello dal portale di Azure.Then, publish the template from the Azure portal. Ecco un esempio di file createUiDef.json:Here's a sample createUiDef.json file:

{
    "handler": "Microsoft.HDInsight",
    "version": "0.0.1-preview",
    "clusterFilters": {
        "types": ["Hadoop", "HBase", "Storm", "Spark"],
        "versions": ["3.6"]
    }
}
CampoField DESCRIZIONEDescription Valori possibiliPossible values
typestypes Tipi di cluster con cui è compatibile l'applicazione.The cluster types that the application is compatible with. Hadoop, HBase, Storm, Spark (o qualsiasi combinazione di questi)Hadoop, HBase, Storm, Spark (or any combination of these)
versionsversions Tipi di cluster HDInsight con cui è compatibile l'applicazione.The HDInsight cluster types that the application is compatible with. 3.43.4

Script di installazione dell'applicazioneApplication installation script

Quando un'applicazione viene installata in un cluster, esistente o nuovo, viene creato un nodo perimetrale.When an application is installed on a cluster (either on an existing cluster, or on a new one), an edge node is created. Lo script di installazione dell'applicazione viene eseguito nel nodo perimetrale.The application installation script runs on the edge node.

Importante

Il nome dello script di installazione dell'applicazione deve essere univoco per un cluster specifico.The name of the application installation script must be unique for a specific cluster. Il nome dello script deve avere il formato seguente:The script name must have the following format:

"name": "[concat('hue-install-v0','-' ,uniquestring(‘applicationName')]""name": "[concat('hue-install-v0','-' ,uniquestring(‘applicationName’)]"

Il nome dello script è costituito da tre parti:The script name has three parts:

  • Un prefisso del nome dello script, che include il nome dell'applicazione o un nome rilevante per l'applicazione.A script name prefix, which must include either the application name or a name relevant to the application.
  • Un trattino, per migliorare la leggibilità.A hyphen, for readability.
  • Una funzione stringa univoca, con il nome dell'applicazione come parametro.A unique string function, with the application name as the parameter.

Nell'elenco di azioni script persistenti, l'esempio precedente è indicato come hue-install-v0-4wkahss55hlas.In the persisted script action list, the preceding example is displayed as hue-install-v0-4wkahss55hlas. Vedere un payload JSON di esempio.See a sample JSON payload.

Lo script di installazione deve avere le caratteristiche seguenti:The installation script must have the following characteristics:

  • Lo script è idempotente.The script is idempotent. Le chiamate multiple allo script producono lo stesso risultato.Multiple calls to the script produce the same result.
  • Allo script deve essere applicato correttamente il controllo delle versioni.The script is properly versioned. Quando si esegue l'aggiornamento o si testano le modifiche, usare un percorso diverso per lo script.Use a different location for the script when you are upgrading or testing changes. In questo modo, l'aggiornamento o i test non influiscono sui clienti che stanno installando l'applicazione.This ensures that customers who are installing the application are not affected by your updates or testing.
  • Lo script offre funzionalità di registrazione adeguate in ogni punto.The script has adequate logging at each point. In genere, i log degli script sono l'unico modo per eseguire il debug dei problemi di installazione delle applicazioni.Usually, script logs are the only way to debug application installation issues.
  • Le chiamate alle risorse o ai servizi esterni dispongono di un numero di tentativi adeguato, in modo che l'installazione non sia compromessa da problemi di rete temporanei.Calls to external services or resources have adequate retries so that the installation is not affected by transient network issues.
  • Se lo script avvia servizi sui nodi, i servizi sono monitorati e configurati per l'avvio automatico in caso di riavvio di un nodo.If your script starts services on the nodes, services are monitored and configured to start automatically if a node reboot occurs.

Creare il pacchetto dell'applicazionePackage the application

Creare un file ZIP contenente tutti i file necessari per installare l'applicazione HDInsight.Create a .zip file that contains all the files that are required to install your HDInsight application. Il file ZIP verrà usato per pubblicare l'applicazione.You use the .zip file to publish the application. Il file ZIP include i file seguenti:The .zip file includes the following files:

Nota

È possibile ospitare i file dell'applicazione (inclusi eventuali file dell'app Web) in qualsiasi endpoint accessibile pubblicamente.You can host the application files (including any web app files) on any publicly accessible endpoint.

Pubblicare l'applicazionePublish the application

Per pubblicare un'applicazione HDInsight:To publish an HDInsight application:

  1. Accedere al portale di pubblicazione di Azure.Sign in to Azure Publishing.
  2. Nel menu a sinistra selezionare Modelli di soluzioni.In the left menu, select Solution templates.
  3. Immettere un titolo e quindi selezionare Create a new solution template (Crea un nuovo modello di soluzione).Enter a title, and then select Create a new solution template.
  4. Se l'organizzazione non è ancora stata registrata, selezionare Create Dev Center account and join the Azure program (Creare un account Dev Center e partecipare al programma di Azure).If you haven't already registered your organization, select Create Dev Center account and join the Azure program. Per altre informazioni, vedere Creare un account di Microsoft Developer.For more information, see Create a Microsoft Developer account.
  5. Selezionare Define some Topologies to get Started (Definire alcune topologie per iniziare).Select Define some Topologies to get Started. Un modello di soluzione è un elemento padre per tutte le relative topologie.A solution template is a "parent" to all its topologies. È possibile definire più topologie in un singolo modello di soluzione o offerta.You can define multiple topologies in one offer or solution template. Quando un'offerta passa alla fase di gestione temporanea, passano a tale fase anche tutte le relative topologie.When an offer is pushed to staging, it is pushed with all its topologies.
  6. Immettere il nome di una topologia e quindi selezionare +.Enter a topology name, and then select +.
  7. Immettere una nuova versione e quindi selezionare +.Enter a new version, and then select +.
  8. Caricare il file ZIP creato quando al momento della creazione del pacchetto dell'applicazione.Upload the .zip file you created when you packaged the application.
  9. Selezionare Request Certification (Richiedi certificazione).Select Request Certification. Il team di certificazione Microsoft esamina i file e certifica la topologia.The Microsoft certification team reviews the files and certifies the topology.

Passaggi successiviNext steps