Sdílet prostřednictvím


Řešení potíží s Apache Sparkem s využitím služby Azure HDInsight

Seznamte se s hlavními problémy a jejich řešeními při práci s datovými částmi Apache Sparku v Apache Ambari.

Jak na clusterech nakonfigurovat aplikaci Apache Spark pomocí Apache Ambari?

Hodnoty konfigurace Sparku je možné ladit, abyste se vyhnuli výjimce aplikace OutofMemoryError Apache Spark. Následující kroky ukazují výchozí hodnoty konfigurace Sparku ve službě Azure HDInsight:

  1. Přihlaste se k Ambari pomocí https://CLUSTERNAME.azurehdidnsight.net přihlašovacích údajů clusteru. Na úvodní obrazovce se zobrazí řídicí panel přehledu. Mezi HDInsight 4.0 existují mírné kosmetické rozdíly.

  2. Přejděte do konfigurací Spark2>.

    Vyberte kartu Konfigurace.

  3. V seznamu konfigurací vyberte a rozbalte custom-spark2-defaults.

  4. Vyhledejte nastavení hodnoty, které potřebujete upravit, například spark.executor.memory. V tomto případě je hodnota 9728m příliš vysoká.

    Vyberte vlastní výchozí hodnoty sparku.

  5. Nastavte hodnotu na doporučené nastavení. Pro toto nastavení se doporučuje hodnota 2048 min .

  6. Uložte hodnotu a uložte konfiguraci. Zvolte Uložit.

    Změňte hodnotu na 2048m.

    Napište poznámku o změnách konfigurace a pak vyberte Uložit.

    Zadejte poznámku o provedených změnách.

    Pokud nějaké konfigurace vyžadují pozornost, budete upozorněni. Poznamenejte si položky a pak vyberte Přesto pokračovat.

    Přesto vyberte Pokračovat.

  7. Při každém uložení konfigurace se zobrazí výzva k restartování služby. Vyberte Restartovat.

    Vyberte restartovat.

    Potvrďte restartování.

    Vyberte Potvrdit restartování vše.

    Můžete zkontrolovat spuštěné procesy.

    Zkontrolujte spuštěné procesy.

  8. Můžete přidat konfigurace. V seznamu konfigurací vyberte Custom-spark2-defaults a pak vyberte Přidat vlastnost.

    Vyberte přidat vlastnost.

  9. Definujte novou vlastnost. Jednu vlastnost můžete definovat pomocí dialogového okna pro konkrétní nastavení, jako je datový typ. Nebo můžete definovat více vlastností pomocí jedné definice na řádek.

    V tomto příkladu je vlastnost spark.driver.memory definována s hodnotou 4g.

    Definujte novou vlastnost.

  10. Uložte konfiguraci a restartujte službu, jak je popsáno v krocích 6 a 7.

Tyto změny jsou v rámci clusteru, ale při odesílání úlohy Sparku je možné je přepsat.

Návody nakonfigurovat aplikaci Apache Spark pomocí poznámkového bloku Jupyter v clusterech?

V první buňce aplikace Jupyter Notebook za direktivou %%configure zadejte konfigurace Sparku v platném formátu JSON. Podle potřeby změňte skutečné hodnoty:

Přidejte konfiguraci.

Jak na clusterech nakonfigurovat aplikaci Apache Spark pomocí Apache Livy?

Odešlete aplikaci Spark do Livy pomocí klienta REST, jako je cURL. Použijte příkaz podobný následujícímu. Podle potřeby změňte skutečné hodnoty:

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}'  

Jak na clusterech nakonfigurovat aplikaci Apache Spark pomocí příkazu spark-submit?

Spusťte spark-shell pomocí příkazu podobného následujícímu. Podle potřeby změňte skutečnou hodnotu konfigurací:

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 čtení

Odeslání úlohy Apache Sparku v clusterech HDInsight

Další kroky

Pokud jste problém neviděli nebo nemůžete problém vyřešit, navštivte jeden z následujících kanálů, kde najdete další podporu:

  • Přehled správy paměti Sparku

  • Ladění aplikace Spark v clusterech HDInsight

  • Získejte odpovědi od odborníků na Azure prostřednictvím podpory komunity Azure.

  • Spojte se s @AzureSupport – oficiálním účtem Microsoft Azure pro zlepšení uživatelského prostředí. Propojení komunity Azure se správnými prostředky: odpovědi, podpora a odborníci.

  • Pokud potřebujete další pomoc, můžete odeslat žádost o podporu z webu Azure Portal. V řádku nabídek vyberte možnost Podpora nebo otevřete centrum nápovědy a podpory . Podrobnější informace najdete v tématu Vytvoření žádosti o podpora Azure. Součástí předplatného Microsoft Azure je přístup ke správě předplatného a podpora fakturace. Technická podpora se poskytuje prostřednictvím některého z plánů podpory Azure.