Publicera ett HDInsight-program på Azure Marketplace
Du kan installera ett Azure HDInsight-program på ett Linux-baserat HDInsight-kluster. I den här artikeln lär du dig hur du publicerar ett HDInsight-program på Azure Marketplace. Allmän information om publicering på Azure Marketplace finns i Publicera ett erbjudande på Azure Marketplace.
HDInsight-program använder BYOL-modellen (Bring Your Own License). I ett BYOL-scenario ansvarar en programleverantör för att licensiera programmet till appanvändare. Appanvändare debiteras endast för de Azure-resurser som de skapar, till exempel HDInsight-klustret och klustrets virtuella datorer och noder. För närvarande sker inte fakturering för själva programmet i Azure.
Mer information finns i de här programrelaterade artiklarna i HDInsight:
- Installera HDInsight-program. Lär dig hur du installerar ett HDInsight-program i dina kluster.
- Installera anpassade HDInsight-program. Lär dig hur du installerar och testar anpassade HDInsight-program.
Förutsättningar
Om du vill skicka in ditt anpassade program på Marketplace skapar och testar du först ditt anpassade program.
Du måste också registrera ditt utvecklarkonto. Mer information finns i Publicera ett erbjudande på Azure Marketplace och Skapa ett Microsoft Developer-konto.
Definiera programmet
Två steg ingår i publicering av program på Marketplace. Definiera först en createUiDef.json fil. Filen createUiDef.json anger vilka kluster som programmet är kompatibelt med. Publicera sedan mallen från Azure Portal. Här är ett exempel på en createUiDef.json fil:
{
"handler": "Microsoft.HDInsight",
"version": "0.0.1-preview",
"clusterFilters": {
"types": ["Hadoop", "HBase", "Spark"],
"versions": ["4.0"]
}
}
Fält | beskrivning | Möjliga värden |
---|---|---|
typer | De klustertyper programmet är kompatibelt med. | Hadoop, HBase, Spark (eller någon kombination av dessa) |
versioner | De typer av HDInsight-kluster programmet är kompatibelt med. | 3.4 |
Installationsskript för program
När ett program installeras i ett kluster (antingen i ett befintligt kluster eller på ett nytt) skapas en kantnod. Programinstallationsskriptet körs på gränsnoden.
Viktigt!
Namnet på programinstallationsskriptet måste vara unikt för ett specifikt kluster. Skriptnamnet måste ha följande format:
"name": "[concat('hue-install-v0','-' ,uniquestring(‘applicationName’)]"
Skriptnamnet har tre delar:
- Ett skriptnamnprefix, som måste innehålla antingen programnamnet eller ett namn som är relevant för programmet.
- Ett bindestreck för läsbarhet.
- En unik strängfunktion med programnamnet som parameter.
I den beständiga skriptåtgärdslistan visas föregående exempel som hue-install-v0-4wkahss55hlas. Se en JSON-exempelnyttolast.
Installationsskriptet måste ha följande egenskaper:
- Skriptet är idempotent. Flera anrop till skriptet ger samma resultat.
- Skriptet är korrekt versionshanterat. Använd en annan plats för skriptet när du uppgraderar eller testar ändringar. Detta säkerställer att kunder som installerar programmet inte påverkas av dina uppdateringar eller tester.
- Skriptet har tillräcklig loggning vid varje punkt. Skriptloggar är vanligtvis det enda sättet att felsöka programinstallationsproblem.
- Anrop till externa tjänster eller resurser har lämpliga återförsök så att installationen inte påverkas av tillfälliga nätverksproblem.
- Om skriptet startar tjänster på noderna övervakas tjänsterna och konfigureras så att de startar automatiskt om en nod startas om.
Paketera programmet
Skapa en .zip fil som innehåller alla filer som krävs för att installera HDInsight-programmet. Du använder filen .zip för att publicera programmet. Filen .zip innehåller följande filer:
- createUiDefinition.json
- mainTemplate.json (Ett exempel finns i Installera anpassade HDInsight-program.)
- Alla nödvändiga skript
Kommentar
Du kan vara värd för programfilerna (inklusive alla webbappfiler) på alla offentligt tillgängliga slutpunkter.
Publicera programmet
Så här publicerar du ett HDInsight-program:
Logga in på Azure Publishing.
I den vänstra menyn väljer du Lösningsmallar.
Ange en rubrik och välj sedan Skapa en ny lösningsmall.
Om du inte redan har registrerat din organisation väljer du Skapa Dev Center-konto och ansluter till Azure-programmet. Mer information finns i Skapa ett Microsoft Developer-konto.
Välj Definiera några topologier för att komma igång. En lösningsmall är en "överordnad" till alla dess topologier. Du kan definiera flera topologier i ett erbjudande eller en lösningsmall. När ett erbjudande skickas till mellanlagring push-överförs det med alla dess topologier.
Ange ett topologinamn och välj +sedan .
Ange en ny version och välj +sedan .
Ladda upp den .zip fil som du skapade när du paketerade programmet.
Välj Begär certifiering. Microsofts certifieringsteam granskar filerna och certifierar topologin.
Nästa steg
- Lär dig hur du installerar HDInsight-program i dina kluster.
- Lär dig hur du installerar anpassade HDInsight-program och distribuerar ett opublicerat HDInsight-program till HDInsight.
- Lär dig hur du använder skriptåtgärd för att anpassa Linux-baserade HDInsight-kluster och lägga till fler program.
- Lär dig hur du skapar Linux-baserade Apache Hadoop-kluster i HDInsight med hjälp av Azure Resource Manager-mallar.
- Lär dig hur du använder en tom gränsnod i HDInsight för att komma åt HDInsight-kluster, testa HDInsight-program och vara värd för HDInsight-program.