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 admin Ranger dan UI Web 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 tersebut.
Lihat Versi Managed Service untuk Apache Spark yang didukung untuk mengetahui versi komponen yang disertakan dalam setiap rilis image Managed Service untuk Apache Spark.
Langkah-langkah penginstalan:
Siapkan sandi
adminRanger Anda:- 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 format berikut:
Anda dapat menentukan akun layanan cluster yang berbeda saat Anda membuat cluster.project-number-compute@developer.gserviceaccount.com
- 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
- Contoh: Berikan peran Pengenkripsi/Pendekripsi CryptoKey Cloud KMS ke akun layanan default Compute Engine:
- Enkripsi sandi Ranger
adminAnda 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.- Contoh:
- Buat key ring:
gcloud kms keyrings create my-keyring --location=global
- Buat kunci:
gcloud kms keys create my-key \ --location=global \ --keyring=my-keyring \ --purpose=encryption
- Enkripsi sandi pengguna
adminRanger Anda:echo 'my-ranger-admin-password' | \ gcloud kms encrypt \ --location=global \ --keyring=my-keyring \ --key=my-key \ --plaintext-file=- \ --ciphertext-file=admin-password.encrypted
- Buat key ring:
- Contoh:
- Upload sandi terenkripsi ke a
bucket Cloud Storage di project Anda.
- Contoh:
gcloud storage cp admin-password.encrypted gs://my-bucket
- Contoh:
- 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 format berikut:
Buat cluster Anda:
- Saat menginstal komponen Ranger, komponen
Solr juga harus diinstal.
- Komponen Ranger bergantung pada 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 agar 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 akan tetap ada setelah cluster dihapus.
- Komponen Ranger bergantung pada 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 agar menyimpan data, termasuk log audit Ranger,
di Cloud Storage, gunakan
- Teruskan URI Cloud Storage sandi dan kunci KMS ke
perintah pembuatan cluster dengan menetapkan
dataproc:ranger.kms.key.uridandataproc:ranger.admin.password.uriproperti cluster. - Secara opsional, Anda dapat meneruskan sandi pengguna
admindatabase Ranger melalui URI file Cloud Storage terenkripsi dengan menetapkan properti clusterdataproc:ranger.db.admin.password.uri. - Secara default, komponen Ranger menggunakan instance database MySql yang berjalan di node master pertama cluster. Di instance MySQL, aktifkan flag
log_bin_trust_function_creatorsdengan menetapkan variabel keON. Menetapkan flag ini akan mengontrol apakah pembuat fungsi tersimpan dapat dipercaya. Setelah pembuatan cluster dan konfigurasi Ranger berhasil, Anda dapat meresetlog_bin_trust_function_creatorskeOFF. Untuk mempertahankan database Ranger setelah penghapusan cluster, gunakan instance Cloud SQL sebagai Database MySql eksternal.
- Tetapkan properti cluster
dataproc:ranger.cloud-sql.instance.connection.nameke instance Cloud SQL. - Tetapkan properti cluster
dataproc:ranger.cloud-sql.root.password.urike URI Cloud Storage sandi root terenkripsi kunci KMS instance Cloud SQL. - Tetapkan properti cluster
dataproc:ranger.cloud-sql.use-private-ipuntuk menunjukkan apakah koneksi ke instance Cloud SQL menggunakan IP pribadi.
Komponen Ranger menggunakan Proxy Auth Cloud SQL untuk terhubung ke instance Cloud SQL. Untuk menggunakan proxy:
- Tetapkan cakupan API
sqlservice.adminsaat Anda membuat cluster (lihat Mengizinkan permintaan dengan OAuth 2.0). Jika menggunakan perintahgcloud dataproc cluster create, tambahkan parameter--scopes=default,sql-admin. - Aktifkan SQL Admin API di project Anda.
- Pastikan akun layanan cluster memiliki peran Editor Cloud SQL.
- Karena Proxy Auth Cloud SQL di node master membuat koneksi keluar 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 Proxy Auth Cloud SQL.
gcloud CLI
Untuk membuat cluster Managed Service untuk Apache Spark yang menyertakan komponen Ranger, gunakan gcloud dataproc clusters create cluster-name perintah 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 SoftwareConfig.Component kolom sebagai bagian dari Managed Service untuk Apache Spark API clusters.create permintaan. Anda juga harus menetapkan properti cluster berikut di kolom SoftwareConfig.Component.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"
Konsol
- Aktifkan komponen dan gateway komponen.
- Di Google Cloud konsol, buka halaman Managed Service untuk Apache Spark Create a cluster. Panel Set up cluster dipilih.
- Di bagian Components:
- Di bagian Optional components, 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 Gateway Komponen).
- Tetapkan properti cluster
- Saat menginstal komponen Ranger, komponen
Solr juga harus diinstal.
Klik tab Web interfaces. 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 Ranger admin tersedia di
Logging sebagai log ranger-admin-root.