Publikowanie aplikacji usługi HDInsight w Azure Marketplace
Aplikację usługi Azure HDInsight można zainstalować w klastrze usługi HDInsight opartym na systemie Linux. Z tego artykułu dowiesz się, jak opublikować aplikację usługi HDInsight w Azure Marketplace. Aby uzyskać ogólne informacje na temat publikowania w Azure Marketplace, zobacz Publikowanie oferty w Azure Marketplace.
Aplikacje usługi HDInsight używają modelu Bring Your Own License (BYOL). W scenariuszu BYOL dostawca aplikacji jest odpowiedzialny za licencjonowanie aplikacji dla użytkowników aplikacji. Użytkownicy aplikacji są obciążani tylko za tworzone zasoby platformy Azure, takie jak klaster usługi HDInsight, oraz maszyny wirtualne i węzły klastra. Obecnie rozliczenia dla samej aplikacji nie są naliczane na platformie Azure.
Aby uzyskać więcej informacji, zobacz następujące artykuły dotyczące aplikacji usługi HDInsight:
- Zainstaluj aplikacje usługi HDInsight. Dowiedz się, jak zainstalować aplikację usługi HDInsight w klastrach.
- Zainstaluj niestandardowe aplikacje usługi HDInsight. Dowiedz się, jak instalować i testować niestandardowe aplikacje usługi HDInsight.
Wymagania wstępne
Aby przesłać aplikację niestandardową w witrynie Marketplace, najpierw utwórz i przetestuj aplikację niestandardową.
Musisz również zarejestrować konto dewelopera. Aby uzyskać więcej informacji, zobacz Publikowanie oferty w Azure Marketplace i Tworzenie konta dewelopera Microsoft.
Definiowanie aplikacji
Dwa kroki są związane z publikowaniem aplikacji w witrynie Marketplace. Najpierw zdefiniuj plik createUiDef.json . Plik createUiDef.json wskazuje, z którymi klastrami aplikacja jest zgodna. Następnie opublikuj szablon z Azure Portal. Oto przykładowy plik createUiDef.json:
{
"handler": "Microsoft.HDInsight",
"version": "0.0.1-preview",
"clusterFilters": {
"types": ["Hadoop", "HBase", "Spark"],
"versions": ["4.0"]
}
}
Pole | Opis | Możliwe wartości |
---|---|---|
types (typy) | Typy klastrów, z którymi dana aplikacja jest zgodna. | Hadoop, HBase, Spark (lub dowolna kombinacja tych) |
versions (wersje) | Typy klastrów usługi HDInsight, z którymi dana aplikacja jest zgodna. | 3.4 |
Skrypt instalacji aplikacji
Gdy aplikacja jest zainstalowana w klastrze (w istniejącym klastrze lub w nowym), tworzony jest węzeł brzegowy. Skrypt instalacji aplikacji jest uruchamiany w węźle krawędzi.
Ważne
Nazwa skryptu instalacji aplikacji musi być unikatowa dla określonego klastra. Nazwa skryptu musi mieć następujący format:
"name": "[concat('hue-install-v0','-' ,uniquestring('applicationName')]"
Nazwa skryptu ma trzy części:
- Prefiks nazwy skryptu, który musi zawierać nazwę aplikacji lub nazwę odpowiednią dla aplikacji.
- Łącznik umożliwiający czytelność.
- Unikatowa funkcja ciągu z nazwą aplikacji jako parametrem.
Na liście akcji utrwalonego skryptu powyższy przykład jest wyświetlany jako hue-install-v0-4wkahss55hlas. Zobacz przykładowy ładunek JSON.
Skrypt instalacji musi mieć następujące cechy:
- Skrypt jest idempotentny. Wiele wywołań skryptu generuje ten sam wynik.
- Skrypt jest poprawnie wersjonowany. W przypadku uaktualniania lub testowania zmian użyj innej lokalizacji skryptu. Dzięki temu klienci, którzy instalują aplikację, nie będą mieć wpływu na aktualizacje ani testy.
- Skrypt ma odpowiednie rejestrowanie w każdym momencie. Zwykle dzienniki skryptów są jedynym sposobem debugowania problemów z instalacją aplikacji.
- Wywołania usług zewnętrznych lub zasobów mają odpowiednie ponawianie prób, aby instalacja nie miała wpływu na przejściowe problemy z siecią.
- Jeśli skrypt uruchamia usługi w węzłach, usługi są monitorowane i konfigurowane do automatycznego uruchamiania w przypadku ponownego uruchomienia węzła.
Spakuj aplikację
Utwórz plik .zip zawierający wszystkie pliki wymagane do zainstalowania aplikacji usługi HDInsight. Plik .zip służy do publikowania aplikacji. Plik .zip zawiera następujące pliki:
- createUiDefinition.json
- mainTemplate.json (Aby zapoznać się z przykładem, zobacz Instalowanie niestandardowych aplikacji usługi HDInsight).
- Wszystkie wymagane skrypty
Uwaga
Pliki aplikacji (w tym pliki aplikacji internetowej) można hostować w dowolnym publicznie dostępnym punkcie końcowym.
Publikowanie aplikacji
Aby opublikować aplikację usługi HDInsight:
Zaloguj się do usługi Azure Publishing.
W menu po lewej stronie wybierz pozycję Szablony rozwiązań.
Wprowadź tytuł, a następnie wybierz pozycję Utwórz nowy szablon rozwiązania.
Jeśli organizacja nie została jeszcze zarejestrowana, wybierz pozycję Utwórz konto Centrum deweloperów i dołącz do programu platformy Azure. Aby uzyskać więcej informacji, zobacz Tworzenie konta dewelopera Microsoft.
Wybierz pozycję Definiuj niektóre topologie, aby rozpocząć pracę. Szablon rozwiązania jest "nadrzędny" dla wszystkich jego topologii. Można zdefiniować wiele topologii w jednej ofercie lub szablonie rozwiązania. Gdy oferta zostanie wypchnięta do etapu przejściowego, zostanie wypchnięta ze wszystkimi jego topologiami.
Wprowadź nazwę topologii, a następnie wybierz pozycję +.
Wprowadź nową wersję, a następnie wybierz pozycję +.
Przekaż plik .zip utworzony podczas tworzenia pakietu aplikacji.
Wybierz pozycję Zażądaj certyfikacji. Zespół ds. certyfikacji firmy Microsoft przegląda pliki i potwierdza topologię.
Następne kroki
- Dowiedz się, jak zainstalować aplikacje usługi HDInsight w klastrach.
- Dowiedz się, jak zainstalować niestandardowe aplikacje usługi HDInsight i wdrożyć nieopublikowaną aplikację usługi HDInsight w usłudze HDInsight.
- Dowiedz się, jak używać akcji skryptu do dostosowywania klastrów usługi HDInsight opartych na systemie Linux i dodawania kolejnych aplikacji.
- Dowiedz się, jak tworzyć klastry Apache Hadoop oparte na systemie Linux w usłudze HDInsight przy użyciu szablonów usługi Azure Resource Manager.
- Dowiedz się, jak używać pustego węzła brzegowego w usłudze HDInsight do uzyskiwania dostępu do klastrów usługi HDInsight, testowania aplikacji usługi HDInsight i hostowania aplikacji usługi HDInsight.