Bagikan melalui


Mengelola komputasi

Artikel ini menjelaskan cara mengelola komputasi Azure Databricks, termasuk menampilkan, mengedit, memulai, mengakhiri, menghapus, mengontrol akses, dan memantau performa dan log. Anda juga dapat menggunakan API Kluster untuk mengelola komputasi secara terprogram.

Menampilkan komputasi

Untuk melihat komputasi Anda, klik Komputasi ikon komputasi di bilah sisi ruang kerja.

Di sisi kiri ada dua kolom yang menunjukkan apakah komputasi telah disematkan dan status komputasi. Arahkan mouse ke atas status untuk mendapatkan informasi selengkapnya.

Menampilkan konfigurasi komputasi sebagai file JSON

Terkadang dapat membantu untuk melihat konfigurasi komputasi Anda sebagai JSON. Ini sangat berguna ketika Anda ingin membuat komputasi serupa menggunakan API Kluster. Saat Anda melihat komputasi yang ada, buka tab Konfigurasi , klik JSON di kanan atas tab, salin JSON, dan tempelkan ke panggilan API Anda. Tampilan JSON bersifat baca-saja.

Menyematkan komputasi

30 hari setelah komputasi dihentikan, komputasi dihapus secara permanen. Untuk mempertahankan konfigurasi komputasi tujuan semua setelah komputasi dihentikan selama lebih dari 30 hari, administrator dapat menyematkan komputasi . Hingga 100 sumber daya komputasi dapat disematkan.

Admin dapat menyematkan komputasi dari daftar komputasi atau halaman detail komputasi dengan mengklik ikon sematkan.

Mengedit komputasi

Anda dapat mengedit konfigurasi komputasi dari antarmuka pengguna detail komputasi.

Catatan

  • Notebook dan pekerjaan yang dilampirkan ke komputasi tetap terlampir setelah pengeditan.
  • Pustaka yang diinstal pada komputasi tetap diinstal setelah pengeditan.
  • Jika Anda mengedit atribut komputasi yang sedang berjalan (kecuali untuk ukuran dan izin komputasi), Anda harus memulai ulang. Ini dapat mengganggu pengguna yang saat ini menggunakan komputasi.
  • Anda hanya dapat mengedit komputasi yang sedang berjalan atau dihentikan. Namun, Anda dapat memperbarui izin untuk komputasi yang tidak ada di status tersebut di halaman detail komputasi.

Mengkloning komputasi

Untuk mengkloning komputasi yang ada, pilih Kloning dari menu kebab komputasi Menu kebab .

Setelah Anda memilih Kloning, UI pembuatan komputasi terbuka sebelum diisi dengan konfigurasi komputasi. Atribut berikut TIDAK disertakan dalam kloning:

  • Izin komputasi
  • Notebook terlampir

Jika Anda tidak ingin menyertakan pustaka yang diinstal sebelumnya dalam komputasi kloning, klik menu drop-down di samping tombol Buat komputasi dan pilih Buat tanpa pustaka.

Izin komputasi

Ada empat tingkat izin untuk komputasi: TIDAK ADA IZIN, DAPAT MELAMPIRKAN KE, DAPAT MEMULAI ULANG, dan DAPAT MENGELOLA. Untuk detailnya, lihat ACL Komputasi.

Catatan

Rahasia tidak diredaksi dari log stdout dan stderr aliran driver Spark kluster. Untuk melindungi data sensitif, secara default, log driver Spark hanya dapat dilihat oleh pengguna dengan izin CAN MANAGE pada pekerjaan, mode akses pengguna tunggal, dan kluster mode akses bersama. Untuk mengizinkan pengguna dengan izin CAN ATTACH TO atau CAN RESTART untuk melihat log pada kluster ini, atur properti konfigurasi Spark berikut dalam konfigurasi kluster: spark.databricks.acl.needAdminPermissionToViewLogs false.

Pada kluster Mode akses bersama Tanpa Isolasi, log driver Spark dapat dilihat oleh pengguna dengan izin CAN ATTACH TO atau CAN MANAGE. Untuk membatasi siapa yang dapat membaca log hanya untuk pengguna dengan izin CAN MANAGE, atur spark.databricks.acl.needAdminPermissionToViewLogs ke true.

Lihat Konfigurasi Spark untuk mempelajari cara menambahkan properti Spark ke konfigurasi kluster.

Mengonfigurasi izin komputasi

Bagian ini menjelaskan cara mengelola izin menggunakan UI ruang kerja. Anda juga dapat menggunakan Api Izin atau penyedia Databricks Terraform.

Anda harus memiliki izin CAN MANAGE pada komputasi untuk mengonfigurasi izin komputasi.

  1. Di bilah samping, klik Komputasi.
  2. Pada baris untuk komputasi, klik menu Menu kebab kebab di sebelah kanan, dan pilih Edit izin.
  3. Di Pengaturan Izin, klik menu drop-down Pilih pengguna, grup, atau perwakilan layanan... dan pilih pengguna, grup, atau perwakilan layanan.
  4. Pilih izin dari menu drop-down izin.
  5. Klik Tambahkan dan klik Simpan.

Mengakhiri komputasi

Untuk menyimpan sumber daya komputasi, Anda dapat mengakhiri komputasi. Konfigurasi komputasi yang dihentikan disimpan sehingga dapat digunakan kembali (atau, dalam kasus pekerjaan, autostarted) di lain waktu. Anda dapat mengakhiri komputasi secara manual atau mengonfigurasi komputasi untuk dihentikan secara otomatis setelah periode tidak aktif yang ditentukan. Ketika jumlah komputasi yang dihentikan melebihi 150, komputasi terlama akan dihapus.

Kecuali komputasi disematkan atau dihidupkan ulang, komputasi akan dihapus secara otomatis dan permanen 30 hari setelah penghentian.

Komputasi yang dihentikan muncul dalam daftar komputasi dengan lingkaran abu-abu di sebelah kiri nama komputasi.

Catatan

Ketika Anda menjalankan pekerjaan pada komputasi Pekerjaan baru (yang biasanya disarankan), komputasi berakhir dan tidak tersedia untuk memulai ulang ketika pekerjaan selesai. Di sisi lain, jika Anda menjadwalkan pekerjaan untuk dijalankan pada komputasi Semua Tujuan yang sudah ada yang telah dihentikan, komputasi tersebut akan dimulai secara otomatis.

Penting

Jika Anda menggunakan ruang kerja Trial Premium, semua sumber daya komputasi yang berjalan akan dihentikan:

  • Saat Anda meningkatkan ruang kerja ke Premium lengkap.
  • Jika ruang kerja tidak ditingkatkan dan coba gratis kedaluwarsa.

Penghentian manual

Anda dapat mengakhiri komputasi secara manual dari daftar komputasi (dengan mengklik kotak pada baris komputasi) atau halaman detail komputasi (dengan mengklik Hentikan).

Penghentian otomatis

Anda juga dapat mengatur penghentian otomatis untuk komputasi. Selama pembuatan komputasi, Anda dapat menentukan periode tidak aktif dalam hitungan menit setelah komputasi dihentikan.

Jika perbedaan antara waktu saat ini dan perintah terakhir yang dijalankan pada komputasi lebih dari periode tidak aktif yang ditentukan, Azure Databricks secara otomatis mengakhiri komputasi tersebut.

Komputasi dianggap tidak aktif ketika semua perintah pada komputasi, termasuk pekerjaan Spark, Streaming Terstruktur, dan panggilan JDBC, telah selesai dieksekusi.

Peringatan

  • Komputasi tidak melaporkan aktivitas yang dihasilkan dari penggunaan DStreams. Ini berarti bahwa komputasi penghentian otomatis dapat dihentikan saat menjalankan DStreams. Nonaktifkan penghentian otomatis untuk komputasi yang menjalankan DStreams atau pertimbangkan untuk menggunakan Streaming Terstruktur.
  • Komputasi diam terus mengakumulasi biaya DBU dan instans cloud selama periode tidak aktif sebelum penghentian.

Mengonfigurasi penghentian otomatis

Anda dapat mengonfigurasi penghentian otomatis di UI komputasi baru. Pastikan bahwa kotak dicentang, dan masukkan jumlah menit dalam pengaturan Hentikan setelah ___ menit tidak aktif .

Anda dapat memilih keluar dari penghentian otomatis dengan menghapus kotak centang Penghentian Otomatis atau dengan menentukan periode tidak aktif 0.

Catatan

Penghentian otomatis paling baik didukung dalam versi Spark terbaru. Versi Spark yang lebih lama memiliki batasan yang diketahui yang dapat mengakibatkan pelaporan aktivitas komputasi yang tidak akurat. Misalnya, komputasi yang menjalankan perintah JDBC, R, atau streaming dapat melaporkan waktu aktivitas kedaluwarsa yang menyebabkan penghentian komputasi dini. Silakan tingkatkan ke versi Spark terbaru untuk mendapatkan keuntungan dari perbaikan bug dan peningkatan penghentian otomatis.

Penghentian tak terduga

Terkadang komputasi dihentikan secara tak terduga, bukan sebagai akibat dari penghentian manual atau penghentian otomatis yang dikonfigurasi.

Untuk daftar alasan penghentian dan langkah-langkah remediasi, lihat Pangkalan Pengetahuan.

Menghapus komputasi

Menghapus komputasi mengakhiri komputasi dan menghapus konfigurasinya. Untuk menghapus komputasi, pilih Hapus dari menu komputasiMenu kebab.

Peringatan

Anda tidak dapat membatalkan tindakan ini.

Untuk menghapus komputasi yang disematkan, komputasi harus terlebih dahulu tidak disematkan oleh administrator.

Anda juga dapat memanggil titik akhir Clusters API untuk menghapus komputasi secara terprogram.

Memulai ulang komputasi

Anda dapat memulai ulang komputasi yang dihentikan sebelumnya dari daftar komputasi, halaman detail komputasi, atau buku catatan. Anda juga dapat memanggil titik akhir Clusters API untuk memulai komputasi secara terprogram.

Azure Databricks mengidentifikasi komputasi menggunakan ID kluster uniknya. Saat Anda memulai komputasi yang dihentikan, Databricks membuat ulang komputasi dengan ID yang sama, secara otomatis menginstal semua pustaka, dan memasang ulang buku catatan.

Catatan

Jika Anda menggunakan ruang kerja Uji Coba dan uji coba telah kedaluwarsa, Anda tidak akan dapat memulai komputasi.

Mulai ulang komputasi untuk memperbaruinya dengan gambar terbaru

Saat Anda memulai ulang komputasi, ia mendapatkan gambar terbaru untuk kontainer sumber daya komputasi dan host VM. Penting untuk menjadwalkan mulai ulang reguler untuk komputasi yang berjalan lama seperti yang digunakan untuk memproses data streaming.

Anda bertanggung jawab untuk menghidupkan ulang semua sumber daya komputasi secara teratur untuk menjaga gambar tetap terbaru dengan versi gambar terbaru.

Penting

Jika Anda mengaktifkan profil keamanan kepatuhan untuk akun atau ruang kerja Anda, komputasi yang berjalan lama secara otomatis dimulai ulang sesuai kebutuhan selama jendela pemeliharaan terjadwal. Ini mengurangi risiko hidupkan ulang otomatis yang mengganggu pekerjaan terjadwal. Anda juga dapat memaksa menghidupkan ulang selama jendela pemeliharaan. Lihat Pembaruan kluster otomatis.

Contoh buku catatan: Menemukan komputasi yang berjalan lama

Jika Anda adalah admin ruang kerja, Anda dapat menjalankan skrip yang menentukan berapa lama setiap komputasi Anda telah berjalan, dan secara opsional, hidupkan ulang jika lebih lama dari jumlah hari yang ditentukan. Azure Databricks menyediakan skrip ini sebagai buku catatan.

Baris pertama skrip menentukan parameter konfigurasi:

  • min_age_output: Jumlah maksimum hari yang dapat dijalankan komputasi. Defaultnya adalah 1.
  • perform_restart: Jika True, skrip memulai ulang komputasi apa pun dengan usia yang lebih besar dari jumlah hari yang ditentukan oleh min_age_output. Defaultnya adalah False, yang mengidentifikasi komputasi yang berjalan lama tetapi tidak memulai ulang.
  • secret_configuration: Ganti REPLACE_WITH_SCOPE dan REPLACE_WITH_KEY dengan cakupan rahasia dan nama kunci. Untuk detail selengkapnya tentang menyiapkan rahasia, lihat notebook.

Peringatan

Jika Anda mengatur perform_restart ke True, skrip secara otomatis memulai ulang komputasi yang memenuhi syarat, yang dapat menyebabkan pekerjaan aktif gagal dan mengatur ulang buku catatan yang terbuka. Untuk mengurangi risiko mengganggu pekerjaan penting bagi bisnis ruang kerja Anda, rencanakan jendela pemeliharaan terjadwal dan pastikan untuk memberi tahu pengguna ruang kerja.

Mengidentifikasi dan secara opsional memulai ulang komputasi yang berjalan lama

Dapatkan buku catatan

Mulai otomatis komputasi untuk pekerjaan dan kueri JDBC/ODBC

Ketika pekerjaan yang ditetapkan ke komputasi yang dihentikan dijadwalkan untuk dijalankan, atau Anda terhubung ke komputasi yang dihentikan dari antarmuka JDBC/ODBC, komputasi secara otomatis dimulai ulang. Lihat Mengonfigurasi komputasi untuk pekerjaan dan JDBC connect.

Mulai otomatis komputasi memungkinkan Anda mengonfigurasi komputasi untuk mengakhiri secara otomatis tanpa memerlukan intervensi manual untuk memulai ulang komputasi untuk pekerjaan terjadwal. Selain itu, Anda dapat menjadwalkan inisialisasi komputasi dengan menjadwalkan pekerjaan untuk dijalankan pada komputasi yang dihentikan.

Sebelum komputasi dimulai ulang secara otomatis, izin kontrol akses komputasi dan pekerjaan diperiksa.

Catatan

Jika komputasi Anda dibuat di platform Azure Databricks versi 2.70 atau yang lebih lama, tidak ada mulai otomatis: pekerjaan yang dijadwalkan untuk dijalankan pada komputasi yang dihentikan akan gagal.

Menampilkan informasi komputasi di UI Apache Spark

Anda dapat melihat informasi terperinci tentang pekerjaan Spark dengan memilih tab Spark UI di halaman detail komputasi.

Jika Anda memulai ulang komputasi yang dihentikan, Spark UI menampilkan informasi untuk komputasi yang dimulai ulang, bukan informasi historis untuk komputasi yang dihentikan.

Lihat Mendiagnosis masalah biaya dan performa menggunakan Spark UI untuk menelusuri masalah biaya dan performa menggunakan Spark UI.

Menampilkan log komputasi

Azure Databricks menyediakan tiga jenis pengelogan aktivitas terkait komputasi:

  • Menghitung log peristiwa, yang menangkap peristiwa siklus hidup komputasi seperti pembuatan, penghentian, dan pengeditan konfigurasi.
  • Driver Apache Spark dan log pekerja, yang dapat Anda gunakan untuk penelusuran kesalahan.
  • Menghitung log init-script, yang berharga untuk men-debug skrip init.

Bagian ini membahas log peristiwa komputasi dan log driver dan pekerja. Untuk detail tentang log init-script, lihat Pengelogan skrip init.

Menghitung log peristiwa

Log peristiwa komputasi menampilkan peristiwa siklus hidup komputasi penting yang dipicu secara manual oleh tindakan pengguna atau secara otomatis oleh Azure Databricks. Peristiwa seperti itu memengaruhi pengoperasian komputasi secara keseluruhan dan pekerjaan yang berjalan dalam komputasi.

Untuk jenis peristiwa yang didukung, lihat struktur data Clusters API .

Peristiwa disimpan selama 60 hari, yang sebanding dengan waktu retensi data lainnya di Azure Databricks.

Menampilkan log peristiwa komputasi

Untuk melihat log peristiwa komputasi, pilih tab Log peristiwa di halaman detail komputasi.

Untuk informasi selengkapnya tentang suatu peristiwa, klik barisnya di log, lalu klik tab JSON untuk detailnya.

Log driver dan pekerja komputasi

Pernyataan log dan cetak langsung dari notebook, pekerjaan, dan pustaka Anda masuk ke log driver Spark. Anda dapat mengakses file log ini dari tab Log driver di halaman detail komputasi. Klik nama file log untuk mengunduhnya.

Log ini memiliki tiga output:

  • Output standar
  • Kesalahan standar
  • Log log4j

Untuk melihat log pekerja Spark, gunakan tab UI Spark. Anda juga dapat mengonfigurasi lokasi pengiriman log untuk komputasi. Log pekerja dan komputasi dikirimkan ke lokasi yang Anda tentukan.

Memantau performa

Untuk membantu Anda memantau performa komputasi Azure Databricks, Azure Databricks menyediakan akses ke metrik dari halaman detail komputasi. Untuk Databricks Runtime 12.2 ke bawah, Azure Databricks menyediakan akses ke metrik Ganglia . Untuk Databricks Runtime 13.3 LTS ke atas, metrik komputasi disediakan oleh Azure Databricks.

Selain itu, Anda dapat mengonfigurasi komputasi Azure Databricks untuk mengirim metrik ke ruang kerja Analitik Log di Azure Monitor, platform pemantauan untuk Azure.

Anda juga dapat menginstal agen Datadog pada simpul komputasi untuk mengirim metrik Datadog ke akun Datadog Anda.

Metrik komputasi

Metrik komputasi adalah alat pemantauan default untuk komputasi semua tujuan dan pekerjaan tanpa server. Untuk mengakses UI metrik komputasi, navigasikan ke tab Metrik di halaman detail komputasi.

Anda dapat melihat metrik historis dengan memilih rentang waktu menggunakan filter pemilih tanggal. Metrik dikumpulkan setiap menit. Anda juga bisa mendapatkan metrik terbaru dengan mengklik tombol Refresh . Untuk informasi selengkapnya, lihat Menampilkan metrik komputasi.

Metrik Ganglia

Catatan

Metrik Ganglia hanya tersedia untuk Databricks Runtime 12.2 ke bawah.

Untuk mengakses UI Ganglia, navigasikan ke tab Metrik pada halaman detail komputasi dan aktifkan pengaturan Metrik warisan . Metrik GPU tersedia untuk komputasi berkemampuan GPU.

Untuk melihat metrik langsung, klik link UI Ganglia.

Untuk melihat metrik historis, klik file snapshot. Snapshot berisi metrik gabungan untuk jam sebelum waktu yang dipilih.

Catatan

Ganglia tidak didukung dengan kontainer Docker. Jika Anda menggunakan kontainer Docker dengan komputasi Anda, metrik Ganglia tidak akan tersedia.

Mengonfigurasi koleksi metrik Ganglia

Secara default, Azure Databricks mengumpulkan metrik Ganglia setiap 15 menit. Untuk mengonfigurasi periode pengumpulan, atur DATABRICKS_GANGLIA_SNAPSHOT_PERIOD_MINUTES variabel lingkungan menggunakan skrip init atau di spark_env_vars bidang di Buat API kluster.

Azure Monitor

Anda dapat mengonfigurasi komputasi Azure Databricks untuk mengirim metrik ke ruang kerja Log Analytics di Azure Monitor, platform pemantauan untuk Azure. Untuk petunjuk lengkapnya, lihat Memantau Azure Databricks.

Catatan

Jika Anda telah menyebarkan ruang kerja Azure Databricks di jaringan virtual Anda sendiri dan Anda telah mengonfigurasi grup keamanan jaringan (NSG) untuk menolak semua lalu lintas keluar yang tidak diperlukan oleh Azure Databricks, maka Anda harus mengonfigurasi aturan keluar tambahan untuk tag layanan "AzureMonitor".

Contoh buku catatan: Metrik Datadog

Metrik Datadog

Anda dapat menginstal agen Datadog pada simpul komputasi untuk mengirim metrik Datadog ke akun Datadog Anda. Notebook berikut menunjukkan cara menginstal agen Datadog pada komputasi menggunakan skrip init yang terlingkup komputasi.

Untuk menginstal agen Datadog di semua komputasi, kelola skrip init dengan cakupan komputasi menggunakan kebijakan komputasi.

Menginstal notebook skrip init agen Datadog

Dapatkan buku catatan

Instans spot penonaktifan

Karena instans spot dapat mengurangi biaya, membuat komputasi menggunakan instans spot daripada instans sesuai permintaan adalah cara umum untuk menjalankan pekerjaan. Namun, instans spot dapat didahului oleh mekanisme penjadwalan penyedia cloud. Preemption instans spot dapat menyebabkan masalah pada pekerjaan yang sedang berjalan, termasuk:

  • Kegagalan pengambilan acak
  • Kehilangan data acak
  • Kehilangan data RDD
  • Kegagalan pekerjaan

Anda dapat mengaktifkan penonaktifan untuk membantu mengatasi masalah ini. Penonaktifan memanfaatkan pemberitahuan yang biasanya dikirim oleh penyedia cloud sebelum instans spot dinonaktifkan. Ketika instans spot yang berisi eksekutor menerima pemberitahuan preemption, proses penonaktifan akan mencoba memigrasikan data RDD dan acak ke eksekutor yang sehat. Durasi sebelum preemption akhir biasanya 30 detik hingga 2 menit, tergantung pada penyedia cloud.

Databricks merekomendasikan untuk mengaktifkan migrasi data saat penonaktifan juga diaktifkan. Umumnya, kemungkinan kesalahan menurun seiring dengan lebih banyak data yang dimigrasikan, termasuk kegagalan pengambilan acak, kehilangan data acak, dan kehilangan data RDD. Migrasi data juga dapat menyebabkan lebih sedikit komputasi ulang dan menghemat biaya.

Catatan

Penonaktifan adalah upaya terbaik dan tidak menjamin bahwa semua data dapat dimigrasikan sebelum pemindahan akhir. Penonaktifan tidak dapat menjamin terhadap kegagalan pengambilan acak saat menjalankan tugas mengambil data acak dari eksekutor.

Dengan penonaktifan yang aktif, kegagalan tugas yang disebabkan oleh preemption instans spot tidak ditambahkan ke jumlah total upaya yang gagal. Kegagalan tugas yang disebabkan oleh preemption tidak dihitung sebagai upaya yang gagal karena penyebab kegagalan adalah hal di luar tugas dan tidak akan mengakibatkan kegagalan pekerjaan.

Aktifkan penonaktifan

Untuk mengaktifkan penonaktifan pada komputasi, masukkan properti berikut di tab Spark di bawah Opsi Tingkat Lanjut di antarmuka pengguna konfigurasi komputasi. Untuk informasi tentang properti ini, lihat Konfigurasi Spark.

  • Untuk mengaktifkan penonaktifan aplikasi, masukkan properti ini di bidang konfigurasi Spark:

    spark.decommission.enabled true
    
  • Untuk mengaktifkan migrasi data acak selama penonaktifan, masukkan properti ini di bidang konfigurasi Spark:

    spark.storage.decommission.enabled true
    spark.storage.decommission.shuffleBlocks.enabled true
    
  • Untuk mengaktifkan migrasi data cache RDD selama penonaktifan, masukkan properti ini di bidang konfigurasi Spark:

    spark.storage.decommission.enabled true
    spark.storage.decommission.rddBlocks.enabled true
    

    Catatan

    Ketika replikasi RDD StorageLevel ditetapkan menjadi lebih dari 1, Databricks tidak merekomendasikan mengaktifkan migrasi data RDD karena replika memastikan RDD tidak akan kehilangan data.

  • Untuk mengaktifkan penonaktifan untuk pekerja, masukkan properti ini di bidang Variabel Lingkungan:

    SPARK_WORKER_OPTS="-Dspark.decommission.enabled=true"
    

Melihat status penonaktifan dan alasan kehilangan di UI

Untuk mengakses status penonaktifan pekerja dari UI, navigasikan ke tab Spark compute UI - Master .

Ketika penonaktifan selesai, Anda dapat melihat alasan kehilangan pelaksana di tab Pelaksana Spark UI > di halaman detail komputasi.