Bagikan melalui


Memecahkan masalah Apache Spark menggunakan Azure HDInsight

Pelajari tentang masalah utama dan resolusi mereka ketika bekerja dengan payload Apache Spark di Apache Ambari.

Bagaimana cara mengonfigurasi aplikasi Apache Spark dengan menggunakan Apache Ambari pada kluster?

Nilai konfigurasi spark dapat disetel untuk membantu menghindari pengecualian aplikasi Apache SparkOutofMemoryError. Langkah-langkah berikut ini memperlihatkan nilai konfigurasi Spark default di Azure HDInsight:

  1. Masuklah ke Ambari di https://CLUSTERNAME.azurehdidnsight.net dengan kredensial klaster Anda. Layar awal menampilkan dasbor ikhtisar. Ada sedikit perbedaan kosmetik antara HDInsight 4.0.

  2. Menavigasi ke Spark2>Configs.

    Select the Configs tab.

  3. Dalam daftar konfigurasi, pilih dan perluas Custom-spark2-defaults.

  4. Cari pengaturan nilai yang perlu Anda sesuaikan, seperti spark.executor.memory. Dalam hal ini, nilai 9728m terlalu tinggi.

    Select custom-spark-defaults.

  5. Atur nilai ke pengaturan yang direkomendasikan. Nilai 2048m direkomendasikan untuk pengaturan ini.

  6. Simpan nilai, lalu simpan konfigurasi. Pilih Simpan.

    Change value to 2048m.

    Tulis catatan tentang perubahan konfigurasi, lalu pilih Simpan.

    Enter a note about the changes you made.

    Anda akan diberi tahu jika ada konfigurasi yang perlu diperhatikan. Perhatikan item, lalu pilih Tetap Lanjutkan.

    Select Proceed Anyway.

  7. Setiap kali konfigurasi disimpan, Anda diminta untuk memulai ulang layanan. Pilih Hidupkan ulang.

    Select restart.

    Konfirmasikan restart.

    Select Confirm Restart All.

    Anda dapat meninjau proses yang sedang berjalan.

    Review running processes.

  8. Anda dapat menambahkan konfigurasi. Dalam daftar konfigurasi, pilih Custom-spark2-defaults, lalu pilih Tambahkan Properti.

    Select add property.

  9. Tentukan properti baru. Anda bisa menentukan satu properti dengan menggunakan kotak dialog untuk pengaturan tertentu seperti tipe data. Atau, Anda dapat menentukan beberapa properti dengan menggunakan satu definisi per baris.

    Dalam contoh ini, properti spark.driver.memory didefinisikan dengan nilai 4g.

    Define new property.

  10. Simpan konfigurasi, lalu mulai ulang layanan seperti yang dijelaskan dalam langkah 6 dan 7.

Perubahan ini adalah kluster secara luas tetapi dapat ditimpa ketika Anda mengirimkan pekerjaan Spark.

Bagaimana cara mengonfigurasi aplikasi Apache Spark dengan menggunakan Jupyter Notebook pada kluster?

Di sel pertama Buku Catatan Jupyter, setelah direktif%%mengonfigurasi, tentukan konfigurasi Spark dalam format JSON yang valid. Mengubah nilai aktual seperlunya:

Add a configuration.

Bagaimana cara mengonfigurasi aplikasi Apache Spark dengan menggunakan Apache Livy pada kluster?

Kirimkan aplikasi Spark ke Livy dengan menggunakan klien REST seperti cURL. Gunakan perintah yang mirip dengan yang berikut ini. Mengubah nilai aktual seperlunya:

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

Bagaimana cara mengonfigurasi aplikasi Apache Spark dengan menggunakan spark-submit pada kluster?

Luncurkan spark-shell dengan menggunakan perintah yang mirip dengan yang berikut ini. Ubah nilai aktual konfigurasi seperlunya:

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

Pembacaan tambahan

Apache Spark pengajuan pekerjaan pada kluster HDInsight

Langkah berikutnya

Jika Anda tidak melihat masalah atau tidak dapat memecahkan masalah, kunjungi salah satu saluran berikut untuk mendapatkan dukungan lebih lanjut: