Probleem met Apache Spark oplossen met behulp van Azure HDInsight
Meer informatie over de belangrijkste problemen en hun oplossingen bij het werken met Apache Spark-nettoladingen in Apache Ambari.
Hoe kan ik een Apache Spark-toepassing configureren met behulp van Apache Ambari in clusters?
Spark-configuratiewaarden kunnen worden afgestemd bij het voorkomen van een Apache Spark-toepassingsonderzondering OutofMemoryError
. In de volgende stappen worden standaardconfiguratiewaarden voor Spark in Azure HDInsight weergegeven:
Meld u aan bij Ambari met
https://CLUSTERNAME.azurehdidnsight.net
uw clusterreferenties. In het eerste scherm wordt een overzichtsdashboard weergegeven. Er zijn kleine cosmetische verschillen tussen HDInsight 4.0.Navigeer naar Spark2-configuraties>.
Selecteer en vouw custom-spark2-defaults uit in de lijst met configuraties.
Zoek naar de waarde-instelling die u moet aanpassen, zoals spark.executor.memory. In dit geval is de waarde van 9728m te hoog.
Stel de waarde in op de aanbevolen instelling. De waarde 2048m wordt aanbevolen voor deze instelling.
Sla de waarde op en sla de configuratie op. Selecteer Opslaan.
Schrijf een notitie over de configuratiewijzigingen en selecteer Opslaan.
U ontvangt een melding als er configuraties aandacht nodig hebben. Noteer de items en selecteer vervolgens Toch doorgaan.
Wanneer een configuratie wordt opgeslagen, wordt u gevraagd de service opnieuw op te starten. Selecteer Opnieuw starten.
Bevestig het opnieuw opstarten.
U kunt de actieve processen controleren.
U kunt configuraties toevoegen. Selecteer Custom-spark2-defaults in de lijst met configuraties en selecteer vervolgens Eigenschap toevoegen.
Definieer een nieuwe eigenschap. U kunt één eigenschap definiëren met behulp van een dialoogvenster voor specifieke instellingen, zoals het gegevenstype. U kunt ook meerdere eigenschappen definiëren met één definitie per regel.
In dit voorbeeld wordt de eigenschap spark.driver.memory gedefinieerd met een waarde van 4g.
Sla de configuratie op en start de service opnieuw zoals beschreven in stap 6 en 7.
Deze wijzigingen zijn clusterbreed, maar kunnen worden overschreven wanneer u de Spark-taak verzendt.
Hoe kan ik een Apache Spark-toepassing configureren met behulp van een Jupyter Notebook in clusters?
Geef in de eerste cel van het Jupyter Notebook, na de %%configure-instructie , de Spark-configuraties in geldige JSON-indeling op. Wijzig indien nodig de werkelijke waarden:
Hoe kan ik een Apache Spark-toepassing configureren met behulp van Apache Livy in clusters?
Verzend de Spark-toepassing naar Livy met behulp van een REST-client zoals cURL. Gebruik een opdracht die vergelijkbaar is met de volgende. Wijzig indien nodig de werkelijke waarden:
curl -k --user 'username:password' -v -H 'Content-Type: application/json' -X POST -d '{ "file":"wasb://container@storageaccountname.blob.core.windows.net/example/jars/sparkapplication.jar", "className":"com.microsoft.spark.application", "numExecutors":4, "executorMemory":"4g", "executorCores":2, "driverMemory":"8g", "driverCores":4}'
Hoe kan ik een Apache Spark-toepassing configureren met behulp van spark-indiening in clusters?
Start spark-shell met behulp van een opdracht die vergelijkbaar is met de volgende. Wijzig indien nodig de werkelijke waarde van de configuraties:
spark-submit --master yarn-cluster --class com.microsoft.spark.application --num-executors 4 --executor-memory 4g --executor-cores 2 --driver-memory 8g --driver-cores 4 /home/user/spark/sparkapplication.jar
Extra lezen
Apache Spark-taak indienen in HDInsight-clusters
Volgende stappen
Als u uw probleem niet hebt gezien of uw probleem niet kunt oplossen, gaat u naar een van de volgende kanalen voor meer ondersteuning:
Overzicht van Spark-geheugenbeheer.
Krijg antwoorden van Azure-experts via de ondersteuning van De Azure-community.
Maak verbinding met @AzureSupport : het officiële Microsoft Azure-account voor het verbeteren van de klantervaring. De Azure-community verbinden met de juiste resources: antwoorden, ondersteuning en experts.
Als u meer hulp nodig hebt, kunt u een ondersteuningsaanvraag indienen via Azure Portal. Selecteer Ondersteuning in de menubalk of open de Help + ondersteuningshub . Raadpleeg hoe u een ondersteuning voor Azure aanvraag maakt voor meer informatie. Toegang tot abonnementsbeheer en factuurbeheer is in uw Microsoft Azure-abonnement inbegrepen, en technische ondersteuning wordt verstrekt via een van de Azure-ondersteuningsplannen.