Een HDInsight-toepassing publiceren in de Azure Marketplace
U kunt een Azure HDInsight-toepassing installeren op een HDInsight-cluster op basis van Linux. In dit artikel leert u hoe u een HDInsight-toepassing publiceert in de Azure Marketplace. Zie Een aanbieding publiceren in de Azure Marketplace voor algemene informatie over het publiceren in de Azure Marketplace.
HDInsight-toepassingen gebruiken het BYOL-model (Bring Your Own License). In een BYOL-scenario is een toepassingsprovider verantwoordelijk voor het verlenen van licenties voor de toepassing aan app-gebruikers. App-gebruikers worden alleen in rekening gebracht voor de Azure-resources die ze maken, zoals het HDInsight-cluster en de VM's en knooppunten van het cluster. Momenteel vindt facturering voor de toepassing zelf niet plaats in Azure.
Zie deze hdinsight-toepassingsgerelateerde artikelen voor meer informatie:
- HDInsight-toepassingen installeren. Meer informatie over het installeren van een HDInsight-toepassing op uw clusters.
- Installeer aangepaste HDInsight-toepassingen. Meer informatie over het installeren en testen van aangepaste HDInsight-toepassingen.
Vereisten
Als u uw aangepaste toepassing in Marketplace wilt indienen, moet u eerst uw aangepaste toepassing maken en testen.
U moet ook uw ontwikkelaarsaccount registreren. Zie Een aanbieding publiceren in de Azure Marketplace en Een Microsoft Developer-account maken voor meer informatie.
De toepassing definiëren
Er zijn twee stappen nodig voor het publiceren van toepassingen in Marketplace. Definieer eerst een createUiDef.json-bestand . Het bestand createUiDef.json geeft aan met welke clusters uw toepassing compatibel is. Publiceer vervolgens de sjabloon vanuit de Azure Portal. Hier volgt een voorbeeldbestand createUiDef.json:
{
"handler": "Microsoft.HDInsight",
"version": "0.0.1-preview",
"clusterFilters": {
"types": ["Hadoop", "HBase", "Spark"],
"versions": ["4.0"]
}
}
Veld | Description | Mogelijke waarden |
---|---|---|
typen | De clustertypen waarmee de toepassing compatibel is. | Hadoop, HBase, Spark (of een combinatie hiervan) |
versies | De HDInsight-clustertypen waarmee de toepassing compatibel is. | 3.4 |
Installatiescript van toepassing
Wanneer een toepassing wordt geïnstalleerd op een cluster (op een bestaand cluster of op een nieuw cluster), wordt er een edge-knooppunt gemaakt. Het installatiescript van de toepassing wordt uitgevoerd op het Edge-knooppunt.
Belangrijk
De naam van het installatiescript van de toepassing moet uniek zijn voor een specifiek cluster. De scriptnaam moet de volgende indeling hebben:
"name": "[concat('hue-install-v0','-' ,uniquestring('applicationName')]"
De scriptnaam bestaat uit drie delen:
- Een scriptnaamvoorvoegsel, dat de naam van de toepassing of een naam moet bevatten die relevant is voor de toepassing.
- Een afbreekstreepje, voor de leesbaarheid.
- Een unieke tekenreeksfunctie, met de naam van de toepassing als de parameter .
In de lijst met persistente scriptacties wordt het voorgaande voorbeeld weergegeven als hue-install-v0-4wkahss55hlas. Bekijk een voorbeeld van een JSON-nettolading.
Het installatiescript moet de volgende kenmerken hebben:
- Het script is idempotent. Meerdere aanroepen naar het script produceren hetzelfde resultaat.
- Het script is correct geversied. Gebruik een andere locatie voor het script wanneer u een upgrade uitvoert of wijzigingen test. Dit zorgt ervoor dat klanten die de toepassing installeren, niet worden beïnvloed door uw updates of tests.
- Het script heeft op elk punt voldoende logboekregistratie. Meestal zijn scriptlogboeken de enige manier om problemen met de installatie van toepassingen op te sporen.
- Aanroepen naar externe services of resources hebben voldoende nieuwe pogingen, zodat de installatie niet wordt beïnvloed door tijdelijke netwerkproblemen.
- Als uw script services op de knooppunten start, worden services bewaakt en geconfigureerd om automatisch te starten als het knooppunt opnieuw wordt opgestart.
De toepassing verpakken
Maak een .zip-bestand dat alle bestanden bevat die nodig zijn om uw HDInsight-toepassing te installeren. U gebruikt het .zip-bestand om de toepassing te publiceren. Het .zip-bestand bevat de volgende bestanden:
- createUiDefinition.json
- mainTemplate.json (Zie Aangepaste HDInsight-toepassingen installeren voor een voorbeeld.)
- Alle vereiste scripts
Notitie
U kunt de toepassingsbestanden (inclusief web-app-bestanden) hosten op een openbaar toegankelijk eindpunt.
De toepassing publiceren
Een HDInsight-toepassing publiceren:
Meld u aan bij Azure Publishing.
Selecteer oplossingssjablonen in het linkermenu.
Voer een titel in en selecteer vervolgens Een nieuwe oplossingssjabloon maken.
Als u uw organisatie nog niet hebt geregistreerd, selecteert u Ontwikkelaarscentrum-account maken en neemt u deel aan het Azure-programma. Zie Een Microsoft Developer-account maken voor meer informatie.
Selecteer Enkele topologieën definiëren om aan de slag te gaan. Een oplossingssjabloon is een 'bovenliggend' voor alle bijbehorende topologieën. U kunt meerdere topologieën definiëren in één aanbiedings- of oplossingssjabloon. Wanneer een aanbieding naar fasering wordt gepusht, wordt deze gepusht met alle bijbehorende topologieën.
Voer een topologienaam in en selecteer +.
Voer een nieuwe versie in en selecteer +.
Upload het .zip-bestand dat u hebt gemaakt toen u de toepassing inpakte.
Selecteer Certificering aanvragen. Het Microsoft-certificeringsteam beoordeelt de bestanden en certificeert de topologie.
Volgende stappen
- Meer informatie over het installeren van HDInsight-toepassingen in uw clusters.
- Meer informatie over het installeren van aangepaste HDInsight-toepassingen en het implementeren van een niet-gepubliceerde HDInsight-toepassing in HDInsight.
- Meer informatie over het gebruik van scriptactie om HDInsight-clusters op basis van Linux aan te passen en meer toepassingen toe te voegen.
- Meer informatie over het maken van Op Linux gebaseerde Apache Hadoop-clusters in HDInsight met behulp van Azure Resource Manager-sjablonen.
- Meer informatie over het gebruik van een leeg edge-knooppunt in HDInsight voor toegang tot HDInsight-clusters, het testen van HDInsight-toepassingen en het hosten van HDInsight-toepassingen.