Azure HDInsight kullanarak Apache Spark sorunlarını giderme

Apache Ambari'de Apache Spark yükleriyle çalışırken karşılaşılan en önemli sorunlar ve bunların çözümleri hakkında bilgi edinin.

Kümeler üzerinde Apache Ambari kullanarak bir Apache Spark uygulamasını nasıl yapılandırabilirim?

Spark yapılandırma değerleri ayarlanabilir, Apache Spark uygulaması OutofMemoryError özel durumunu önlemeye yardımcı olabilir. Aşağıdaki adımlar Azure HDInsight'ta varsayılan Spark yapılandırma değerlerini gösterir:

  1. Küme kimlik bilgilerinizle Ambari'de https://CLUSTERNAME.azurehdidnsight.net oturum açın. İlk ekranda bir genel bakış panosu görüntülenir. HDInsight 4.0 arasında hafif kozmetik farklılıklar vardır.

  2. Spark2>Yapılandırmaları'na gidin.

    Select the Configs tab.

  3. Yapılandırma listesinde Custom-spark2-defaults öğesini seçin ve genişletin.

  4. Spark.executor.memory gibi ayarlamanız gereken değer ayarını arayın. Bu durumda, 9728m değeri çok yüksektir.

    Select custom-spark-defaults.

  5. Değeri önerilen ayara ayarlayın. Bu ayar için 2048m değeri önerilir.

  6. Değeri kaydedin ve ardından yapılandırmayı kaydedin. Kaydet'i seçin.

    Change value to 2048m.

    Yapılandırma değişiklikleri hakkında bir not yazıp Kaydet'i seçin.

    Enter a note about the changes you made.

    İlgilenilmesi gereken yapılandırmalar varsa size bildirilir. Öğeleri not edin ve yine de Devam Et'i seçin.

    Select Proceed Anyway.

  7. Bir yapılandırma kaydedildiğinde, hizmeti yeniden başlatmanız istenir. Yeniden Başlat'ı seçin.

    Select restart.

    Yeniden başlatmayı onaylayın.

    Select Confirm Restart All.

    Çalışan işlemleri gözden geçirebilirsiniz.

    Review running processes.

  8. Yapılandırmalar ekleyebilirsiniz. Yapılandırma listesinde Custom-spark2-defaults öğesini ve ardından Özellik Ekle'yi seçin.

    Select add property.

  9. Yeni bir özellik tanımlayın. Veri türü gibi belirli ayarlar için bir iletişim kutusu kullanarak tek bir özellik tanımlayabilirsiniz. Veya satır başına bir tanım kullanarak birden çok özellik tanımlayabilirsiniz.

    Bu örnekte spark.driver.memory özelliği 4g değeriyle tanımlanır.

    Define new property.

  10. Yapılandırmayı kaydedin ve 6. ve 7. adımlarda açıklandığı gibi hizmeti yeniden başlatın.

Bu değişiklikler küme genelindedir ancak Spark işini gönderdiğinizde geçersiz kılınabilir.

Kümelerde Jupyter Notebook kullanarak Apache Spark uygulamasını Nasıl yaparım? yapılandırabilirsiniz?

Jupyter Notebook'un ilk hücresinde, %%configure yönergesinin ardından Spark yapılandırmalarını geçerli JSON biçiminde belirtin. Gerçek değerleri gerektiği gibi değiştirin:

Add a configuration.

Kümeler üzerinde Apache Livy kullanarak bir Apache Spark uygulamasını nasıl yapılandırabilirim?

Spark uygulamasını, cURL gibi bir REST istemcisi kullanarak Livy'ye gönderin. Aşağıdakine benzer bir komut kullanın. Gerçek değerleri gerektiği gibi değiştirin:

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

Kümeler üzerinde spark-submit kullanarak bir Apache Spark uygulamasını nasıl yapılandırabilirim?

Aşağıdakine benzer bir komut kullanarak spark-shell'i başlatın. Yapılandırmaların gerçek değerini gerektiği gibi değiştirin:

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

Ek okuma

HDInsight kümelerinde Apache Spark iş gönderimi

Sonraki adımlar

Sorununuzu görmediyseniz veya sorununuzu çözemiyorsanız daha fazla destek için aşağıdaki kanallardan birini ziyaret edin:

  • Spark bellek yönetimine genel bakış.

  • HDInsight kümelerinde Spark uygulamasında hata ayıklama.

  • Azure Topluluk Desteği aracılığıyla Azure uzmanlarından yanıt alın.

  • @AzureSupport ile Bağlan - müşteri deneyimini geliştirmeye yönelik resmi Microsoft Azure hesabı. Azure topluluğunun doğru kaynaklara Bağlan: yanıtlar, destek ve uzmanlar.

  • Daha fazla yardıma ihtiyacınız varsa Azure portalından bir destek isteği gönderebilirsiniz. Menü çubuğundan Destek'i seçin veya Yardım + destek hub'ını açın. Daha ayrıntılı bilgi için bkz. Azure desteği isteği oluşturma. Abonelik Yönetimi’ne ve faturalandırma desteğine erişim Microsoft Azure aboneliğinize dahildir, Teknik Destek ise herhangi bir Azure Destek Planı üzerinden sağlanır.