Aangepaste Apache Hive-bibliotheken toevoegen bij het maken van uw HDInsight-cluster

Meer informatie over het vooraf laden van Apache Hive-bibliotheken in HDInsight. Dit document bevat informatie over het gebruik van een scriptactie om bibliotheken vooraf te laden tijdens het maken van een cluster. Bibliotheken die zijn toegevoegd met behulp van de stappen in dit document, zijn wereldwijd beschikbaar in Hive. U hoeft ADD JAR niet te gebruiken om ze te laden.

Uitleg

Wanneer u een cluster maakt, kunt u een scriptactie gebruiken om clusterknooppunten te wijzigen terwijl ze worden gemaakt. Het script in dit document accepteert één parameter, namelijk de locatie van de bibliotheken. Deze locatie moet zich in een Azure Storage-account bevinden en de bibliotheken moeten worden opgeslagen als JAR-bestanden.

Tijdens het maken van het cluster inventariseert het script de bestanden, kopieert ze naar de map op hoofd /usr/lib/customhivelibs/ - en werkknooppunten en voegt ze vervolgens toe aan de hive.aux.jars.path eigenschap in het core-site.xml bestand. Op Linux-clusters wordt het hive-env.sh bestand ook bijgewerkt met de locatie van de bestanden.

Met behulp van de scriptactie in dit artikel worden de bibliotheken beschikbaar wanneer u een Hive-client gebruikt voor WebHCat en HiveServer2.

Het script

Scriptlocatie

https://hdiconfigactions.blob.core.windows.net/setupcustomhivelibsv01/setup-customhivelibs-v01.ps1

Vereisten

  • De scripts moeten worden toegepast op zowel de hoofdknooppunten als de werkknooppunten.

  • De JAR's die u wilt installeren, moeten worden opgeslagen in Azure Blob Storage in één container.

  • Het opslagaccount met de bibliotheek met JAR-bestanden moet tijdens het maken zijn gekoppeld aan het HDInsight-cluster. Dit moet het standaardopslagaccount zijn of een account dat is toegevoegd via Instellingen voor opslagaccount.

  • Het WASB-pad naar de container moet worden opgegeven als een parameter voor de scriptactie. Als de JAR's bijvoorbeeld worden opgeslagen in een container met de naam bibliotheken in een opslagaccount met de naam mystorage, is wasbs://libs@mystorage.blob.core.windows.net/de parameter .

    Notitie

    In dit document wordt ervan uitgegaan dat u al een opslagaccount en blobcontainer hebt gemaakt en de bestanden hiernaar hebt geüpload.

    Als u geen opslagaccount hebt gemaakt, kunt u dit doen via de Azure Portal. U kunt vervolgens een hulpprogramma zoals Azure Storage Explorer gebruiken om een container in het account te maken en er bestanden naar te uploaden.

Een cluster maken met behulp van het script

  1. Begin met het inrichten van een cluster met behulp van de stappen in HDInsight-clusters inrichten in Linux, maar voltooi de inrichting niet. U kunt ook Azure PowerShell of de HDInsight .NET SDK gebruiken om een cluster te maken met behulp van dit script. Zie HDInsight-clusters aanpassen met scriptacties voor meer informatie over het gebruik van deze methoden. Selecteer voor de Azure Portal op het tabblad Configuratie en prijzen de actie + Script toevoegen.

  2. Als voor Opslag het opslagaccount met de bibliotheek met JAR-bestanden anders is dan het account dat voor het cluster wordt gebruikt, voltooit u Extra opslagaccounts.

  3. Geef voor Scriptacties de volgende informatie op:

    Eigenschap Waarde
    Scripttype - Aangepast
    Naam Bibliotheken
    Bash-script-URI https://hdiconfigactions.blob.core.windows.net/linuxsetupcustomhivelibsv01/setup-customhivelibs-v01.sh
    Knooppunttype(n) Hoofd, werkrol
    Parameters Voer het WASB-adres in voor de container en het opslagaccount dat de JAR's bevat. Bijvoorbeeld wasbs://libs@mystorage.blob.core.windows.net/.

    Notitie

    Gebruik voor Apache Spark 2.1 deze bash-script-URI: https://hdiconfigactions.blob.core.windows.net/linuxsetupcustomhivelibsv01/setup-customhivelibs-v00.sh.

  4. Ga door met het inrichten van het cluster zoals beschreven in HDInsight-clusters inrichten in Linux.

Zodra het cluster is gemaakt, kunt u de JAR's gebruiken die via dit script vanuit Hive zijn toegevoegd zonder dat u de ADD JAR instructie hoeft te gebruiken.

Volgende stappen

Zie Apache Hive gebruiken met HDInsight voor meer informatie over het werken met Hive