Publicera ett HDInsight-program i Azure Marketplace
Du kan installera ett Azure HDInsight-program i ett Linux-baserat HDInsight-kluster. I den här artikeln får du lära dig hur du publicerar ett HDInsight-program i Azure Marketplace. Allmän information om publicering i Azure Marketplace finns i Publicera ett erbjudande i Azure Marketplace.
HDInsight-program använder BYOL-modellen (Bring Your Own License). I ett BYOL-scenario ansvarar en programleverantör för licensiering av 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 dessa programrelaterade HDInsight-artiklar:
- 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 måste du först skapa och testa ditt anpassade program.
Du måste också registrera ditt utvecklarkonto. Mer information finns i Publicera ett erbjudande i Azure Marketplace och Skapa ett Microsoft Developer-konto.
Definiera programmet
Två steg ingår i publiceringen 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 |
Programinstallationsskript
När ett program installeras i ett kluster (antingen i ett befintligt kluster eller på ett nytt) skapas en gränsnod. 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 består av 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 listan över beständiga skriptåtgärder 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 testning.
- 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 .zip-filen för att publicera programmet. Den .zip filen innehåller följande filer:
- createUiDefinition.json
- mainTemplate.json (Ett exempel finns i Installera anpassade HDInsight-program.)
- Alla skript som krävs
Anteckning
Du kan vara värd för programfilerna (inklusive alla webbappfiler) på valfri offentligt tillgänglig slutpunkt.
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.