Komponen Ranger opsional Managed Service untuk Apache Spark

Anda dapat menginstal komponen tambahan seperti Ranger saat membuat cluster Managed Service untuk Apache Spark menggunakan fitur Komponen opsional. Halaman ini menjelaskan komponen Ranger.

Komponen Apache Ranger adalah framework open source untuk mengelola izin dan audit untuk ekosistem Hadoop. Server dan UI Web Ranger admin tersedia di port 6080 pada node master pertama cluster.

Lihat juga:

Menginstal komponen

Instal komponen saat Anda membuat cluster Managed Service untuk Apache Spark. Komponen dapat ditambahkan ke cluster yang dibuat dengan Managed Service untuk Apache Spark versi 1.3 dan yang lebih baru. Komponen Ranger memerlukan penginstalan komponen Solr.

Lihat Versi Managed Service untuk Apache Spark yang didukung untuk versi komponen yang disertakan dalam setiap rilis image Managed Service untuk Apache Spark.

Langkah-langkah penginstalan:

  1. Siapkan sandi admin Ranger Anda:

    1. Berikan peran Pengenkripsi/Pendekripsi CryptoKey Cloud Key Management Service ke akun layanan cluster. Secara default, akun layanan cluster ditetapkan sebagai akun layanan default Compute Engine, yang memiliki bentuk berikut:
      project-number-compute@developer.gserviceaccount.com
      
      Anda dapat menentukan akun layanan cluster yang berbeda saat Anda membuat cluster.
      1. Contoh: Berikan peran Pengenkripsi/Pendekripsi CryptoKey Cloud KMS ke akun layanan default Compute Engine:
        gcloud projects add-iam-policy-binding project-id \
            --member=serviceAccount:project-number-compute@developer.gserviceaccount.com \
            --role=roles/cloudkms.cryptoKeyDecrypter
        
    2. Enkripsi sandi admin Ranger Anda menggunakan kunci Key Management Service (KMS). Untuk cluster versi gambar sebelum 2.2, sandi harus terdiri dari minimal 8 karakter, dengan minimal satu karakter alfabet dan satu karakter numerik. Untuk cluster versi image 2.2 dan yang lebih baru, sandi harus terdiri dari minimal 8 karakter, dengan minimal satu huruf besar, satu huruf kecil, dan satu karakter numerik.
      1. Contoh:
        1. Buat key ring:
          gcloud kms keyrings create my-keyring --location=global
          
        2. Buat kunci:
          gcloud kms keys create my-key \
              --location=global \
              --keyring=my-keyring \
              --purpose=encryption
          
        3. Enkripsi sandi pengguna admin Ranger Anda:
          echo 'my-ranger-admin-password' | \
            gcloud kms encrypt \
              --location=global \
              --keyring=my-keyring \
              --key=my-key \
              --plaintext-file=- \
              --ciphertext-file=admin-password.encrypted
          
    3. Upload sandi terenkripsi ke bucket Cloud Storage di project Anda.
      1. Contoh:
        gcloud storage cp admin-password.encrypted gs://my-bucket
        
  2. Buat cluster Anda:

    1. Saat menginstal komponen Ranger, komponen Solr juga harus diinstal.
      1. Komponen Ranger mengandalkan komponen Solr untuk menyimpan dan membuat kueri log auditnya, yang secara default menggunakan HDFS sebagai penyimpanan. Data HDFS ini akan dihapus saat cluster dihapus. Untuk mengonfigurasi komponen Solr guna menyimpan data, termasuk log audit Ranger, di Cloud Storage, gunakan dataproc:solr.gcs.path=gs://<bucket> properti cluster saat Anda membuat cluster. Data Cloud Storage tetap ada setelah kluster dihapus.
    2. Teruskan URI Cloud Storage kunci KMS dan sandi ke perintah pembuatan cluster dengan menetapkan dataproc:ranger.kms.key.uri dan dataproc:ranger.admin.password.uri properti cluster.
    3. Secara opsional, Anda dapat meneruskan sandi pengguna admin database Ranger melalui URI file Cloud Storage terenkripsi dengan menyetel properti cluster dataproc:ranger.db.admin.password.uri.
    4. Secara default, komponen Ranger menggunakan instance database MySql yang berjalan di node master pertama cluster. Untuk mempertahankan database Ranger setelah penghapusan cluster, Anda dapat mengonfigurasi cluster untuk menggunakan instance Cloud SQL eksternal. Untuk menggunakan instance Cloud SQL eksternal, lakukan hal berikut:

      1. Sebelum membuat cluster, Anda harus mengonfigurasi instance Cloud SQL untuk mengaktifkan flag database log_bin_trust_function_creators dengan menyetelnya ke on. Hal ini memungkinkan skrip penyiapan skema Ranger berjalan selama pembuatan cluster. Setelah pembuatan cluster berhasil, Anda dapat mereset flag ini ke off.
      2. Tetapkan dataproc:ranger.cloud-sql.instance.connection.name properti cluster ke instance Cloud SQL.
      3. Tetapkan dataproc:ranger.cloud-sql.root.password.uri properti cluster ke URI Cloud Storage dari sandi root yang dienkripsi dengan kunci KMS instance Cloud SQL.
      4. Tetapkan dataproc:ranger.cloud-sql.use-private-ip properti cluster untuk menunjukkan apakah koneksi ke instance Cloud SQL dilakukan melalui IP pribadi.

      Saat menggunakan instance Cloud SQL eksternal, komponen Ranger menggunakan Cloud SQL Auth Proxy untuk terhubung ke instance Cloud SQL. Untuk menggunakan proxy:

      1. Tetapkan cakupan API sqlservice.admin saat Anda membuat cluster (lihat Mengizinkan permintaan dengan OAuth 2.0). Jika menggunakan perintah gcloud dataproc cluster create, tambahkan parameter --scopes=default,sql-admin.
      2. Aktifkan SQL Admin API di project Anda.
      3. Pastikan akun layanan cluster memiliki peran Cloud SQL Editor.
      4. Karena Proxy Auth Cloud SQL di node master membuat koneksi keluar (egress connection) ke instance Cloud SQL melalui port 3307, pastikan koneksi TCP keluar dari node master ke instance Cloud SQL melalui port 3307 diizinkan. Untuk mengetahui informasi selengkapnya, lihat Cara kerja Cloud SQL Auth Proxy.

    KonsolGoogle Cloud

    1. Di Konsol Google Cloud , buka halaman Create cluster.
    2. Klik Konfigurasi tambahan untuk meluaskan bagian tersebut.
    3. Edit Komponen opsional.
    4. Di panel yang terbuka, centang kotak untuk Ranger dan Solr, lalu klik Simpan.

    gcloud CLI

    Untuk membuat cluster Managed Service untuk Apache Spark yang menyertakan komponen Ranger, gunakan perintah gcloud dataproc clusters create cluster-name dengan flag --optional-components.

    gcloud dataproc clusters create cluster-name \
        --optional-components=SOLR,RANGER \
        --region=region \
        --enable-component-gateway \
        --properties="dataproc:ranger.kms.key.uri=projects/project-id/locations/global/keyRings/my-keyring/cryptoKeys/my-key,dataproc:ranger.admin.password.uri=gs://my-bucket/admin-password.encrypted" \
        ... other flags
    

    REST API

    Tentukan komponen Ranger dan Solr di kolom SoftwareConfig.Component sebagai bagian dari permintaan clusters.create Dataproc API. Anda juga harus menetapkan properti cluster berikut di kolom SoftwareConfig.Component.properties:

    1. dataproc:ranger.kms.key.uri: "projects/project-id/locations/global/keyRings/my-keyring/cryptoKeys/my-key"
    2. dataproc:ranger.admin.password.uri : "gs://my-bucket/admin-password.encrypted"

Klik tab Antarmuka web. Di bagian Component gateway, klik Ranger untuk membuka antarmuka web Ranger. Login dengan nama pengguna admin Ranger (misalnya, "admin") dan sandi.

Log Admin Ranger

Log admin Ranger tersedia di Logging sebagai log ranger-admin-root.