Komponen Ranger opsional Dataproc

Anda dapat menginstal komponen tambahan seperti Ranger saat membuat cluster Dataproc 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 admin Ranger dan UI Web tersedia di port 6080 pada node master pertama cluster.

Lihat juga:

Menginstal komponen

Instal komponen saat Anda membuat cluster Dataproc. Komponen dapat ditambahkan ke cluster yang dibuat dengan Dataproc versi 1.3 dan yang lebih baru. Komponen Ranger memerlukan penginstalan komponen Solr seperti yang ditunjukkan di bawah.

Lihat Versi Dataproc yang didukung untuk mengetahui versi komponen yang disertakan dalam setiap rilis image Dataproc.

Langkah-langkah penginstalan:

  1. Siapkan sandi admin Ranger Anda:

    1. Berikan peran Pengenkripsi/Pendekripsi CryptoKey Cloud KMS 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 membuat cluster, di bawah.
      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 pengguna admin Ranger Anda menggunakan kunci Key Management Service (KMS). Untuk cluster versi image 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, seperti yang ditunjukkan di bawah.
      1. Komponen Ranger mengandalkan komponen Solr untuk menyimpan dan membuat kueri log auditnya, yang secara default menggunakan HDFS sebagai penyimpanan. Data HDFS ini dihapus saat cluster dihapus. Untuk mengonfigurasi komponen Solr guna menyimpan data, termasuk log audit Ranger, di Cloud Storage, gunakan properti cluster dataproc:solr.gcs.path=gs://<bucket> saat Anda membuat cluster. Data Cloud Storage akan tetap ada setelah cluster dihapus.
    2. Teruskan URI Cloud Storage kunci dan sandi KMS ke perintah pembuatan cluster dengan menetapkan properti cluster dataproc:ranger.kms.key.uri dan dataproc:ranger.admin.password.uri.
    3. Secara opsional, Anda dapat meneruskan sandi pengguna admin database Ranger melalui URI file Cloud Storage terenkripsi dengan menetapkan properti cluster dataproc:ranger.db.admin.password.uri.
    4. Secara default, komponen Ranger menggunakan instance database MySql yang berjalan di node master pertama cluster. Di instance MySQL, aktifkan flag log_bin_trust_function_creators dengan menetapkan variabel ke ON. Menyetel tanda ini akan mengontrol apakah pembuat fungsi yang disimpan dapat dipercaya atau tidak. Setelah pembuatan cluster dan konfigurasi Ranger berhasil, Anda dapat mereset log_bin_trust_function_creators ke OFF.
    5. Untuk mempertahankan database Ranger setelah penghapusan cluster, gunakan instance Cloud SQL sebagai Database MySql eksternal.

      1. Tetapkan properti cluster dataproc:ranger.cloud-sql.instance.connection.name ke instance Cloud SQL.
      2. Tetapkan properti cluster dataproc:ranger.cloud-sql.root.password.uri ke URI Cloud Storage dari sandi root terenkripsi kunci KMS instance Cloud SQL.
      3. Tetapkan properti cluster dataproc:ranger.cloud-sql.use-private-ip untuk menunjukkan apakah koneksi ke instance Cloud SQL dilakukan melalui IP pribadi.

      Komponen Ranger menggunakan Proxy Cloud SQL 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.

      Perintah gcloud

      Untuk membuat cluster Dataproc 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"

      Konsol

      1. Aktifkan komponen dan gateway komponen.
        • Di konsol Google Cloud, buka halaman Create a cluster Dataproc. Panel Siapkan cluster dipilih.
        • Di bagian Komponen:
          • Di bagian Komponen opsional, pilih Ranger, Solr, dan komponen opsional lainnya untuk diinstal di cluster Anda.
          • Di bagian Component Gateway, pilih Enable component gateway (lihat Melihat dan Mengakses URL Component Gateway).

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.