Informatie over het gebruik van HDInsight in Linux

Azure HDInsight-clusters bieden Apache Hadoop in een vertrouwde Linux-omgeving die wordt uitgevoerd in de Azure-cloud. Voor de meeste dingen zou het precies moeten werken als elke andere Hadoop-on-Linux-installatie. In dit document worden specifieke verschillen beschreven waar u rekening mee moet houden.

Vereisten

Veel van de stappen in dit document gebruiken de volgende hulpprogramma's, die mogelijk op uw systeem moeten worden geïnstalleerd.

Gebruikers

Tenzij aan een domein is toegevoegd, moet HDInsight worden beschouwd als een systeem met één gebruiker. Er wordt één SSH-gebruikersaccount gemaakt met het cluster, met machtigingen op beheerdersniveau. Er kunnen extra SSH-accounts worden gemaakt, maar ze hebben ook beheerderstoegang tot het cluster.

Aan een domein gekoppeld HDInsight ondersteunt meerdere gebruikers en meer gedetailleerde machtigings- en rolinstellingen. Zie HdInsight-clusters beheren die lid zijn van een domein voor meer informatie.

Domeinnamen

De FQDN (Fully Qualified Domain Name) die moet worden gebruikt bij het maken van verbinding met het cluster vanaf internet is CLUSTERNAME.azurehdinsight.net of CLUSTERNAME-ssh.azurehdinsight.net (alleen voor SSH).

Intern heeft elk knooppunt in het cluster een naam die is toegewezen tijdens de clusterconfiguratie. Zie de pagina Hosts in de Ambari-webgebruikersinterface om de clusternamen te vinden. U kunt ook het volgende gebruiken om een lijst met hosts van de Ambari REST API te retourneren:

curl -u admin -G "https://CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/hosts" | jq '.items[].Hosts.host_name'

Vervang CLUSTERNAME door de naam van uw cluster. Wanneer u hierom wordt gevraagd, voert u het wachtwoord voor het beheerdersaccount in. Met deze opdracht wordt een JSON-document geretourneerd dat een lijst met de hosts in het cluster bevat. jq wordt gebruikt om de host_name elementwaarde voor elke host te extraheren.

Als u de naam van het knooppunt voor een specifieke service wilt vinden, kunt u een query uitvoeren op Ambari voor dat onderdeel. Als u bijvoorbeeld de hosts voor het HDFS-naamknooppunt wilt zoeken, gebruikt u de volgende opdracht:

curl -u admin -G "https://CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/services/HDFS/components/NAMENODE" | jq '.host_components[].HostRoles.host_name'

Met deze opdracht wordt een JSON-document geretourneerd waarin de service wordt beschreven. Vervolgens haalt jq alleen de host_name waarde voor de hosts op.

Externe toegang tot services

  • Ambari (web) - https://CLUSTERNAME.azurehdinsight.net

    Verifieer met behulp van de gebruiker en het wachtwoord van de clusterbeheerder en meld u vervolgens aan bij Ambari.

    Verificatie is zonder opmaak. Gebruik altijd HTTPS om ervoor te zorgen dat de verbinding veilig is.

    Belangrijk

    Sommige web-UIS's die beschikbaar zijn via Ambari-toegangsknooppunten met behulp van een interne domeinnaam. Interne domeinnamen zijn niet openbaar toegankelijk via internet. Mogelijk ontvangt u 'server niet gevonden' fouten bij het openen van bepaalde functies via internet.

    Als u de volledige functionaliteit van de Ambari-webinterface wilt gebruiken, gebruikt u een SSH-tunnel om webverkeer naar het hoofdknooppunt van het cluster te proxyen. Zie SSH-tunneling gebruiken voor toegang tot de webinterface van Apache Ambari, ResourceManager, JobHistory, NameNode, Oozie en andere web-UIs

  • Ambari (REST) - https://CLUSTERNAME.azurehdinsight.net/ambari

    Notitie

    Verifieer met behulp van de gebruiker en het wachtwoord van de clusterbeheerder.

    Verificatie is zonder opmaak. Gebruik altijd HTTPS om ervoor te zorgen dat de verbinding veilig is.

  • WebHCat (Templeton) - https://CLUSTERNAME.azurehdinsight.net/templeton

    Notitie

    Verifieer met behulp van de gebruiker en het wachtwoord van de clusterbeheerder.

    Verificatie is zonder opmaak. Gebruik altijd HTTPS om ervoor te zorgen dat de verbinding veilig is.

  • SSH : CLUSTERNAME-ssh.azurehdinsight.net op poort 22 of 23. Poort 22 wordt gebruikt om verbinding te maken met het primaire hoofdknooppunt, terwijl 23 wordt gebruikt om verbinding te maken met de secundaire. Zie Beschikbaarheid en betrouwbaarheid van Apache Hadoop-clusters in HDInsight voor meer informatie over de hoofdknooppunten.

    Notitie

    U hebt alleen toegang tot de hoofdknooppunten van het cluster via SSH vanaf een clientcomputer. Nadat u verbinding hebt gemaakt, hebt u toegang tot de werkknooppunten met behulp van SSH vanaf een hoofdknooppunt.

Zie de poorten die worden gebruikt door Apache Hadoop-services in HDInsight voor meer informatie.

Bestandslocaties

Hadoop-gerelateerde bestanden vindt u op de clusterknooppunten op /usr/hdp. Deze map bevat de volgende submappen:

  • 2.6.5.3009-43: De mapnaam is de versie van het Hadoop-platform dat door HDInsight wordt gebruikt. Het nummer op uw cluster kan afwijken van het nummer dat hier wordt vermeld.
  • current: Deze map bevat koppelingen naar submappen onder de map 2.6.5.3009-43 . Deze map bestaat, zodat u het versienummer niet hoeft te onthouden.

Voorbeelden van gegevens en JAR-bestanden vindt u in Hadoop Distributed File System op /example en /HdiSamples.

HDFS, Azure Storage en Data Lake Storage

In de meeste Hadoop-distributies worden de gegevens opgeslagen in HDFS. HDFS wordt ondersteund door lokale opslag op de machines in het cluster. Het gebruik van lokale opslag kan kostbaar zijn voor een cloudoplossing waarbij u per uur of per minuut kosten in rekening wordt gebracht voor rekenresources.

Wanneer u HDInsight gebruikt, worden de gegevensbestanden op een aanpasbare en flexibele manier opgeslagen in de cloud met behulp van Azure Blob Storage en optioneel Azure Data Lake Storage Gen1/Gen2. Deze services bieden de volgende voordelen:

  • Goedkope langetermijnopslag.
  • Toegankelijkheid van externe services, zoals websites, hulpprogramma's voor het uploaden/downloaden van bestanden, verschillende taal-SDK's en webbrowsers.
  • Grote bestandscapaciteit en grote aanpasbare opslag.

Zie Azure Blob Storage, Azure Data Lake Storage Gen1 of Azure Data Lake Storage Gen2 voor meer informatie.

Wanneer u Azure Blob Storage of Data Lake Storage Gen1/Gen2 gebruikt, hoeft u niets speciaals te doen vanuit HDInsight om toegang te krijgen tot de gegevens. Met de volgende opdracht worden bijvoorbeeld bestanden in de /example/data map weergegeven, ongeacht of deze zijn opgeslagen in Azure Storage of Data Lake Storage:

hdfs dfs -ls /example/data

In HDInsight worden de gegevensopslagresources (Azure Blob Storage en Azure Data Lake Storage) losgekoppeld van rekenresources. U kunt HDInsight-clusters maken om berekeningen uit te voeren zoals u nodig hebt en het cluster later verwijderen wanneer het werk is voltooid. Ondertussen blijven uw gegevensbestanden veilig in de cloudopslag bewaard zolang u dat nodig hebt.

URI en schema

Voor sommige opdrachten moet u mogelijk het schema opgeven als onderdeel van de URI bij het openen van een bestand. Wanneer u niet-standaardopslag gebruikt (opslag toegevoegd als 'extra' opslag aan het cluster), moet u het schema altijd gebruiken als onderdeel van de URI.

Wanneer u Azure Storage gebruikt, gebruikt u een van de volgende URI-schema's:

  • wasb:///: Toegang tot standaardopslag met behulp van niet-versleutelde communicatie.

  • wasbs:///: Toegang tot standaardopslag met versleutelde communicatie. Het wasbs-schema wordt alleen ondersteund vanaf HDInsight versie 3.6 en hoger.

  • wasb://<container-name>@<account-name>.blob.core.windows.net/: Wordt gebruikt bij het communiceren met een niet-standaardopslagaccount. Als u bijvoorbeeld een extra opslagaccount hebt of wanneer u toegang hebt tot gegevens die zijn opgeslagen in een openbaar toegankelijk opslagaccount.

Wanneer u Azure Data Lake Storage Gen2 gebruikt, gebruikt u het volgende URI-schema:

  • abfs://: Toegang tot standaardopslag met versleutelde communicatie.

  • abfs://<container-name>@<account-name>.dfs.core.windows.net/: Wordt gebruikt bij het communiceren met een niet-standaardopslagaccount. Als u bijvoorbeeld een extra opslagaccount hebt of wanneer u toegang hebt tot gegevens die zijn opgeslagen in een openbaar toegankelijk opslagaccount.

Wanneer u Azure Data Lake Storage Gen1 gebruikt, gebruikt u een van de volgende URI-schema's:

  • adl:///: Open de standaard Data Lake Storage voor het cluster.

  • adl://<storage-name>.azuredatalakestore.net/: Wordt gebruikt bij het communiceren met een niet-standaard Data Lake Storage. Ook gebruikt voor toegang tot gegevens buiten de hoofdmap van uw HDInsight-cluster.

Belangrijk

Wanneer u Data Lake Storage gebruikt als de standaardopslag voor HDInsight, moet u een pad in het archief opgeven dat moet worden gebruikt als hoofdmap van HDInsight-opslag. Het standaardpad is /clusters/<cluster-name>/.

Wanneer u gegevens gebruikt / of adl:/// opent, hebt u alleen toegang tot gegevens die zijn opgeslagen in de hoofdmap (bijvoorbeeld /clusters/<cluster-name>/) van het cluster. Als u overal in de store toegang wilt krijgen tot gegevens, gebruikt u de adl://<storage-name>.azuredatalakestore.net/ indeling.

Wat opslag is het cluster met behulp van

U kunt Ambari gebruiken om de standaardopslagconfiguratie voor het cluster op te halen. Gebruik de volgende opdracht om HDFS-configuratiegegevens op te halen met behulp van curl en deze te filteren met behulp van jq:

curl -u admin -G "https://CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/configurations/service_config_versions?service_name=HDFS&service_config_version=1" | jq '.items[].configurations[].properties["fs.defaultFS"] | select(. != null)'

Notitie

Met deze opdracht wordt de eerste configuratie geretourneerd die is toegepast op de server (service_config_version=1), die deze informatie bevat. Mogelijk moet u alle configuratieversies weergeven om de meest recente te vinden.

Met deze opdracht wordt een waarde geretourneerd die vergelijkbaar is met de volgende URI's:

  • wasb://<container-name>@<account-name>.blob.core.windows.net als u een Azure Storage-account gebruikt.

    De accountnaam is de naam van het Azure Storage-account. De containernaam is de blobcontainer die de hoofdmap van de clusteropslag is.

  • adl://home als u Azure Data Lake Storage gebruikt. Gebruik de volgende REST-aanroep om de Data Lake Storage-naam op te halen:

    curl -u admin -G "https://CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/configurations/service_config_versions?service_name=HDFS&service_config_version=1" | jq '.items[].configurations[].properties["dfs.adls.home.hostname"] | select(. != null)'
    

    Met deze opdracht wordt de volgende hostnaam geretourneerd: <data-lake-store-account-name>.azuredatalakestore.net.

    Gebruik de volgende REST-aanroep om de map in de store op te halen die de hoofdmap voor HDInsight is:

    curl -u admin -G "https://CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/configurations/service_config_versions?service_name=HDFS&service_config_version=1" | jq '.items[].configurations[].properties["dfs.adls.home.mountpoint"] | select(. != null)'
    

    Met deze opdracht wordt een pad geretourneerd dat vergelijkbaar is met het volgende pad: /clusters/<hdinsight-cluster-name>/.

U kunt de opslaggegevens ook vinden via Azure Portal met behulp van de volgende stappen:

  1. Selecteer uw HDInsight-cluster in Azure Portal.

  2. Selecteer Opslagaccounts in de sectie Eigenschappen. De opslaggegevens voor het cluster worden weergegeven.

Hoe kan ik bestanden openen van buiten HDInsight

Er zijn verschillende manieren om toegang te krijgen tot gegevens van buiten het HDInsight-cluster. Hier volgen enkele koppelingen naar hulpprogramma's en SDK's die kunnen worden gebruikt om met uw gegevens te werken:

Als u Azure Blob Storage gebruikt, raadpleegt u de volgende koppelingen voor manieren waarop u toegang hebt tot uw gegevens:

  • Azure CLI: opdrachtregelinterfaceopdrachten voor het werken met Azure. Gebruik na de installatie de az storage opdracht voor hulp bij het gebruik van opslag of az storage blob voor blobspecifieke opdrachten.

  • blobxfer.py: een Python-script voor het werken met blobs in Azure Storage.

  • Verschillende SDK's:

Als u Azure Data Lake Storage Gen1 gebruikt, raadpleegt u de volgende koppelingen voor manieren waarop u toegang hebt tot uw gegevens:

Uw cluster schalen

Met de functie voor clusterschalen kunt u het aantal gegevensknooppunten dat door een cluster wordt gebruikt, dynamisch wijzigen. U kunt schaalbewerkingen uitvoeren terwijl andere taken of processen worden uitgevoerd op een cluster. HDInsight-clusters schalen

Hoe kan ik Hue (of een ander Hadoop-onderdeel) installeren?

HDInsight is een beheerde service. Als Azure een probleem met het cluster detecteert, kan het mislukte knooppunt worden verwijderd en een knooppunt worden gemaakt om het te vervangen. Wanneer u items handmatig in het cluster installeert, worden ze niet behouden wanneer deze bewerking plaatsvindt. Gebruik in plaats daarvan HDInsight Script Actions. Een scriptactie kan worden gebruikt om de volgende wijzigingen aan te brengen:

  • Een service of website installeren en configureren.
  • Installeer en configureer een onderdeel waarvoor configuratiewijzigingen op meerdere knooppunten in het cluster zijn vereist.

Scriptacties zijn Bash-scripts. De scripts worden uitgevoerd tijdens het maken van het cluster en worden gebruikt voor het installeren en configureren van extra onderdelen. Zie Ontwikkeling van scriptacties met HDInsight voor informatie over het ontwikkelen van uw eigen scriptacties.

Jar-bestanden

Sommige Hadoop-technologieën bieden zelfstandige JAR-bestanden. Deze bestanden bevatten functies die worden gebruikt als onderdeel van een MapReduce-taak, of vanuit Pig of Hive. Ze hebben vaak geen installatie nodig en kunnen na het maken en rechtstreeks naar het cluster worden geüpload. Als u er zeker van wilt zijn dat het onderdeel het opnieuw kan instellen van het cluster, slaat u het JAR-bestand op in de standaardopslag van het cluster.

Als u bijvoorbeeld de nieuwste versie van Apache DataFu wilt gebruiken, kunt u een JAR met het project downloaden en uploaden naar het HDInsight-cluster. Volg vervolgens de DataFu-documentatie over het gebruik ervan vanuit Pig of Hive.

Belangrijk

Sommige onderdelen die zelfstandige JAR-bestanden zijn, worden geleverd met HDInsight, maar bevinden zich niet in het pad. Als u op zoek bent naar een specifiek onderdeel, kunt u het volgende gebruiken om ernaar te zoeken in uw cluster:

find / -name *componentname*.jar 2>/dev/null

Met deze opdracht wordt het pad van overeenkomende JAR-bestanden geretourneerd.

Als u een andere versie van een onderdeel wilt gebruiken, uploadt u de versie die u nodig hebt en gebruikt u het in uw taken.

Belangrijk

Onderdelen van het HDInsight-cluster worden volledig ondersteund en Microsoft Ondersteuning helpt bij het isoleren en oplossen van problemen met betrekking tot deze onderdelen.

Aangepaste onderdelen ontvangen commercieel redelijke ondersteuning om u te helpen het probleem verder op te lossen. Dit kan leiden tot het oplossen van het probleem of het vragen om beschikbare kanalen in te schakelen voor de opensource-technologieën waar diepe expertise voor die technologie wordt gevonden. Er zijn bijvoorbeeld veel communitysites die kunnen worden gebruikt, zoals: Microsoft Q&A-vragenpagina voor HDInsight, https://stackoverflow.com. Ook Apache-projecten hebben projectsites ophttps://apache.org, bijvoorbeeld Hadoop, Spark.

Volgende stappen