Mengonfigurasi Dataproc Hub

Dataproc Hub adalah server JupyterHub yang disesuaikan. Admin mengonfigurasi dan membuat instance Dataproc Hub yang dapat memunculkan cluster Dataproc satu pengguna untuk menghosting lingkungan notebook Jupyter dan JupyterLab (lihat Menggunakan Dataproc Hub).

Luncurkan Notebook untuk beberapa pengguna. Anda dapat membuat instance Vertex AI Workbench yang kompatibel dengan Dataproc atau menginstal plugin Dataproc JupyterLab di VM untuk menyajikan notebook kepada beberapa pengguna.

Tujuan

  1. Tentukan konfigurasi cluster Dataproc (atau gunakan salah satu file konfigurasi yang telah ditentukan).

  2. Tetapkan variabel lingkungan instance Dataproc Hub.

  3. Buat instance Dataproc Hub.

Sebelum memulai

Jika Anda belum melakukannya, buat Google Cloud project dan bucket Cloud Storage.

  1. Menyiapkan project

    1. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
    2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

      Roles required to select or create a project

      • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
      • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

      Go to project selector

    3. Verify that billing is enabled for your Google Cloud project.

    4. Enable the Dataproc, Compute Engine, and Cloud Storage APIs.

      Roles required to enable APIs

      To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

      Enable the APIs

    5. Instal Google Cloud CLI.

    6. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

    7. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

      gcloud init
    8. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

      Roles required to select or create a project

      • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
      • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

      Go to project selector

    9. Verify that billing is enabled for your Google Cloud project.

    10. Enable the Dataproc, Compute Engine, and Cloud Storage APIs.

      Roles required to enable APIs

      To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

      Enable the APIs

    11. Instal Google Cloud CLI.

    12. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

    13. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

      gcloud init

  2. Membuat bucket Cloud Storage di project Anda untuk menyimpan data yang digunakan dalam tutorial ini.

    1. Di konsol Google Cloud , buka halaman Buckets Cloud Storage.

      Buka Buckets

    2. Klik Create.
    3. Di halaman Buat bucket, masukkan informasi bucket Anda. Untuk melanjutkan ke langkah berikutnya, klik Lanjutkan.
      1. Di bagian Mulai, lakukan tindakan berikut:
        • Masukkan nama yang unik secara global yang memenuhi persyaratan penamaan bucket.
        • Untuk menambahkan label bucket, luaskan bagian Label (), klik Tambahkan label, lalu tentukan key dan value untuk label Anda.
      2. Di bagian Pilih tempat untuk menyimpan data Anda, lakukan tindakan berikut:
        1. Pilih Jenis lokasi.
        2. Pilih lokasi tempat data bucket Anda disimpan secara permanen dari menu drop-down Location type.
          • Jika memilih jenis lokasi dual-region, Anda juga dapat memilih untuk mengaktifkan replikasi turbo dengan menggunakan kotak centang yang relevan.
        3. Untuk menyiapkan replikasi lintas bucket, pilih Add cross-bucket replication via Storage Transfer Service dan ikuti langkah-langkah berikut:

          Menyiapkan replikasi lintas bucket

          1. Di menu Bucket, pilih bucket.
          2. Di bagian Setelan replikasi, klik Konfigurasi untuk mengonfigurasi setelan bagi tugas replikasi.

            Panel Konfigurasi replikasi lintas bucket akan muncul.

            • Untuk memfilter objek yang akan direplikasi menurut awalan nama objek, masukkan awalan yang ingin Anda sertakan atau kecualikan objeknya, lalu klik Tambahkan awalan.
            • Untuk menetapkan kelas penyimpanan bagi objek yang direplikasi, pilih kelas penyimpanan dari menu Kelas penyimpanan. Jika Anda melewati langkah ini, objek yang direplikasi akan menggunakan kelas penyimpanan bucket tujuan secara default.
            • Klik Done.
      3. Di bagian Choose how to store your data, lakukan tindakan berikut:
        1. Pilih kelas penyimpanan default untuk bucket atau Autoclass untuk pengelolaan kelas penyimpanan otomatis untuk data bucket Anda.
        2. Untuk mengaktifkan namespace hierarkis, di bagian Optimalkan penyimpanan untuk beban kerja intensif data, pilih Aktifkan namespace hierarkis di bucket ini.
      4. Di bagian Pilih cara mengontrol akses ke objek, pilih apakah bucket Anda menerapkan pencegahan akses publik atau tidak, lalu pilih metode kontrol akses untuk objek bucket Anda.
      5. Di bagian Pilih cara melindungi data objek, lakukan tindakan berikut:
        • Pilih salah satu opsi di bagian Perlindungan data yang ingin Anda tetapkan untuk bucket Anda.
          • Untuk mengaktifkan penghapusan sementara, klik kotak centang Kebijakan penghapusan sementara (Untuk pemulihan data), dan tentukan jumlah hari Anda ingin mempertahankan objek setelah penghapusan.
          • Untuk menyetel Pembuatan Versi Objek, klik kotak centang Pembuatan versi objek (Untuk kontrol versi), dan tentukan jumlah maksimum versi per objek dan jumlah hari setelah versi lama berakhir.
          • Untuk mengaktifkan kebijakan retensi pada objek dan bucket, klik kotak centang Retensi (Untuk kepatuhan), lalu lakukan hal berikut:
            • Untuk mengaktifkan Penguncian Retensi Objek, centang kotak Aktifkan retensi objek.
            • Untuk mengaktifkan Bucket Lock, centang kotak Setel kebijakan retensi bucket, lalu pilih satuan waktu dan durasi untuk periode retensi data Anda.
        • Untuk memilih cara mengenkripsi data objek Anda, luaskan bagian Enkripsi data (), lalu pilih metode Enkripsi data.
    4. Klik Create.

Menentukan konfigurasi cluster

Instance Dataproc Hub membuat cluster dari nilai konfigurasi yang ada dalam file konfigurasi cluster YAML.

Konfigurasi cluster Anda dapat menentukan fitur atau komponen apa pun yang tersedia untuk cluster Dataproc (seperti jenis mesin, tindakan inisialisasi, dan komponen opsional). Versi image cluster harus 1.4.13 atau yang lebih tinggi. Mencoba membuat cluster dengan versi image yang lebih rendah dari 1.4.13 akan menyebabkan error dan gagal.

Contoh file konfigurasi cluster YAML

clusterName: cluster-name
config:
  softwareConfig:
    imageVersion: 2.2-ubuntu22
    optionalComponents:
    - JUPYTER

Setiap konfigurasi harus disimpan di Cloud Storage. Anda dapat membuat dan menyimpan beberapa file konfigurasi untuk memberi pengguna pilihan saat mereka menggunakan Dataproc Hub untuk membuat lingkungan notebook cluster Dataproc mereka.

Ada dua cara untuk membuat file konfigurasi cluster YAML:

  1. Membuat file konfigurasi cluster YAML dari konsol

  2. Mengekspor file konfigurasi cluster YAML dari cluster yang ada

Membuat file konfigurasi cluster YAML dari konsol

  1. Buka halaman Create a cluster di konsol Google Cloud , lalu pilih dan isi kolom untuk menentukan jenis cluster yang akan di-spawn Dataproc Hub untuk pengguna.
    1. Di bagian bawah panel kiri, pilih "REST yang setara".
    2. Salin blok JSON yang dihasilkan, tidak termasuk baris permintaan POST di bagian awal, lalu tempel blok JSON ke konverter JSON ke YAML online (cari "Convert JSON to YAML" di internet).
    3. Salin YAML yang dikonversi ke file cluster-config-filename.yaml lokal.

Mengekspor file konfigurasi cluster YAML dari cluster yang ada

  1. Buat cluster yang sesuai dengan persyaratan Anda.
  2. Ekspor konfigurasi cluster ke file cluster-config-filename.yaml lokal.
    gcloud dataproc clusters export cluster-name \
        --destination cluster-config-filename.yaml  \
        --region region
     

Simpan file konfigurasi YAML di Cloud Storage

Salin file konfigurasi cluster YAML lokal Anda ke bucket Cloud Storage Anda.

gcloud storage cp cluster-config-filename.yaml gs://bucket-name/

Menetapkan variabel lingkungan instance Dataproc Hub

Administrator dapat menetapkan variabel lingkungan hub yang tercantum dalam tabel di bawah untuk menetapkan atribut cluster Dataproc yang akan dibuat oleh pengguna hub.

Variabel Deskripsi Contoh
NOTEBOOKS_LOCATION Bucket Cloud Storage atau folder bucket yang berisi notebook pengguna. Awalan `gs://` bersifat opsional. Default: Bucket staging Dataproc. gs://bucket-name/
DATAPROC_CONFIGS Daftar string jalur Cloud Storage yang dipisahkan koma ke file konfigurasi cluster YAML. Awalan `gs://` bersifat opsional. Default: gs://dataproc-spawner-dist/example-configs/. yang berisi example-cluster.yaml dan example-single-node.yaml bawaan. gs://cluster-config-filename.yaml
DATAPROC_LOCATIONS_LIST Akhiran zona di region tempat instance Dataproc Hub berada. Pengguna dapat memilih salah satu zona ini sebagai zona tempat cluster Dataproc mereka akan dihasilkan. Default: "b". b,c,d
DATAPROC_DEFAULT_SUBNET Subnet tempat instance Dataproc Hub akan menghasilkan cluster Dataproc. Default: subnet instance Dataproc Hub. https://www.googleapis.com/compute/v1/projects/project-id/regions/region/subnetworks/subnet-name
DATAPROC_SERVICE_ACCOUNT Akun layanan yang akan digunakan VM Dataproc untuk berjalan. Default: Jika tidak ditetapkan, akun layanan Dataproc default akan digunakan. service-account@project-id.iam.gserviceaccount.com
SPAWNER_DEFAULT_URL Apakah akan menampilkan UI Jupyter atau JupyterLab pada cluster Dataproc yang dimunculkan secara default. Default: "/lab". `/` atau `/lab`, untuk Jupyter atau JupyterLab.
DATAPROC_ALLOW_CUSTOM_CLUSTERS Apakah akan mengizinkan pengguna untuk menyesuaikan cluster Dataproc mereka. Default: false. "true" atau "false"
DATAPROC_MACHINE_TYPES_LIST Daftar jenis mesin yang diizinkan untuk dipilih pengguna untuk cluster Dataproc mereka yang dihasilkan, jika penyesuaian cluster (DATAPROC_ALLOW_CUSTOM_CLUSTERS) diaktifkan. Default: kosong (semua jenis mesin diizinkan). n1-standard-4,n1-standard-8,e2-standard-4,n1-highcpu-4
NOTEBOOKS_EXAMPLES_LOCATION Jalur Cloud Storage ke bucket notebook atau folder bucket yang akan didownload ke cluster Dataproc yang dihasilkan saat cluster dimulai. Default: kosong. gs://bucket-name/

Menetapkan variabel lingkungan hub

Ada dua cara untuk menetapkan variabel lingkungan hub:

  1. Menetapkan variabel lingkungan hub dari konsol

  2. Menetapkan variabel lingkungan hub dalam file teks

Menetapkan variabel lingkungan hub dari konsol

Saat membuat instance Dataproc Hub dari tab User-Managed Notebooks di halaman Dataproc→Workbench di konsol Google Cloud , Anda dapat mengklik tombol Populate untuk membuka formulir Populate Dataproc Hub yang memungkinkan Anda menyetel setiap variabel lingkungan.

Menetapkan variabel lingkungan hub dalam file teks

  1. Buat file. Anda dapat menggunakan editor teks untuk menetapkan variabel lingkungan instance Dataproc Hub dalam file lokal. Atau, Anda dapat membuat file dengan menjalankan perintah berikut setelah mengisi nilai placeholder dan mengubah atau menambahkan variabel serta nilainya.

    cat <<EOF > environment-variables-file
    DATAPROC_CONFIGS=gs://bucket/cluster-config-filename.yaml
    NOTEBOOKS_LOCATION=gs://bucket/notebooks
    DATAPROC_LOCATIONS_LIST=b,c
    EOF
    

  2. Simpan file di Cloud Storage. Salin file variabel lingkungan instance Dataproc Hub lokal ke bucket Cloud Storage Anda.

    gcloud storage cp environment-variable-filename gs://bucket-name/folder-name/

Menetapkan peran Identity and Access Management (IAM)

Dataproc Hub mencakup identitas berikut dengan kemampuan berikut:

  • Administrator: membuat instance Dataproc Hub
  • Pengguna Data dan ML: mengakses UI Dataproc Hub
  • Akun layanan Dataproc Hub: merepresentasikan Dataproc Hub
  • Akun layanan Dataproc: merepresentasikan cluster Dataproc yang dibuat Dataproc Hub.

Setiap identitas memerlukan peran atau izin tertentu untuk melakukan tugas yang terkait. Tabel di bawah merangkum peran dan izin IAM yang diperlukan oleh setiap identitas.

Identitas Jenis Peran atau izin
Administrator Dataproc Hub Akun Pengguna atau Akun layanan roles/notebooks.admin
Pengguna Dataproc Hub Pengguna notebooks.instances.use, dataproc.clusters.use
Hub Dataproc Akun layanan roles/dataproc.hubAgent
Dataproc Akun layanan roles/dataproc.worker

Membuat instance Dataproc Hub

  1. Sebelum memulai: Untuk membuat instance Dataproc Hub dari konsol Google Cloud , akun pengguna Anda harus memiliki izin compute.instances.create. Selain itu, akun layanan instance—akun layanan default Compute Engine atau akun layanan yang ditentukan pengguna yang tercantum di IAM & admin > Service Accounts (lihat akun layanan VM Dataproc)—harus memiliki izin iam.serviceAccounts.actAs.

  2. Buka halaman Dataproc→Workbench di konsol Google Cloud , lalu pilih tab User-Managed Notebooks.

  3. Jika belum dipilih sebagai filter, klik kotak Filter, lalu pilih **Environment:Dataproc Hub"".

  4. Klik New Notebook→Dataproc Hub.

  5. Di halaman Create a user-managed notebook, berikan informasi berikut:

    1. Nama notebook: Nama instance Dataproc Hub.
    2. Region: Pilih region untuk instance Dataproc Hub. Cluster Dataproc yang dihasilkan oleh instance Dataproc Hub ini juga akan dibuat di region ini.
    3. Zona: Pilih zona dalam region yang dipilih.
    4. Lingkungan:
      1. Environment: Pilih Dataproc Hub.
      2. Select a script to run after creation (opsional): Anda dapat menyisipkan atau menjelajahi dan memilih skrip atau executable tindakan inisialisasi untuk dijalankan di cluster Dataproc yang dibuat.
      3. Populate Dataproc Hub (optional): Klik Populate untuk membuka formulir yang memungkinkan Anda menetapkan setiap variabel lingkungan hub (lihat Menetapkan variabel lingkungan instance Dataproc Hub untuk mengetahui deskripsi setiap variabel). Dataproc menggunakan nilai default untuk variabel lingkungan yang tidak ditetapkan. Sebagai alternatif, Anda dapat menetapkan pasangan Metadata key:value untuk menetapkan variabel lingkungan (lihat item berikutnya).
      4. Metadata:
        1. Jika Anda membuat file teks yang berisi setelan variabel lingkungan hub (lihat Menetapkan variabel lingkungan hub), berikan nama file sebagai key dan lokasi Cloud Storage file sebagai value.gs://bucket-name/folder-name/environment-variable-filename Dataproc menggunakan nilai default untuk variabel lingkungan yang tidak disetel.
    5. Konfigurasi mesin:
      1. Machine Type: Pilih jenis mesin Compute Engine.
      2. Tetapkan opsi konfigurasi mesin lainnya.
    6. Opsi Lainnya:
      1. Anda dapat meluaskan dan menetapkan atau mengganti nilai default di bagian Disks, Networking, Permission, Security, dan Environment upgrade and system health.
    7. Klik Create untuk meluncurkan instance Hub Dataproc.
  6. Link Open JupyterLab untuk instance Dataproc Hub akan aktif setelah instance dibuat. Pengguna mengklik link ini untuk membuka halaman server JupyterHub guna mengonfigurasi dan membuat cluster Dataproc JupyterLab (lihat Menggunakan Dataproc Hub).

Pembersihan

Menghapus instance Dataproc Hub

  • Untuk menghapus instance Dataproc Hub Anda:
    gcloud compute instances delete --project=${PROJECT} ${INSTANCE_NAME}
    

Menghapus bucket

  • Untuk menghapus bucket Cloud Storage yang Anda buat di Sebelum Anda memulai, termasuk file data yang disimpan di bucket:
    gcloud storage rm gs://${BUCKET_NAME} --recursive
    

Langkah berikutnya