Anda dapat menggunakan Kerberos dengan Gerbang Kyuubi di Serverless Spark untuk otentikasi identitas aman dan kontrol akses. Setelah dikonfigurasi, klien harus menggunakan otentikasi Kerberos untuk mengirimkan tugas ke Gerbang Kyuubi di ruang kerja, sehingga meningkatkan keamanan eksekusi tugas.
Batasan
Kluster dan ruang kerja Serverless Spark harus berada di wilayah yang sama.
Hanya satu Gerbang Kyuubi yang dapat dibuat di ruang kerja tempat Kerberos diaktifkan.
Prasyarat
Anda telah membuat kluster EMR on ECS dengan otentikasi Kerberos diaktifkan. Untuk informasi selengkapnya, lihat Buat kluster.
Anda telah membuat ruang kerja Serverless Spark dengan otentikasi Kerberos diaktifkan. Untuk informasi selengkapnya, lihat Aktifkan otentikasi Kerberos.
Buat konektivitas jaringan
Untuk menggunakan Kerberos dengan Gerbang Kyuubi, Anda harus mengonfigurasi PrivateLink guna membangun konektivitas jaringan antara Serverless Spark dan kluster Kerberos.
Buat titik akhir
Titik akhir dibuat dan dikelola oleh konsumen layanan. Anda dapat mengaitkan titik akhir dengan Layanan titik akhir untuk membangun konektivitas jaringan guna mengakses layanan eksternal melalui PrivateLink. Untuk informasi selengkapnya, lihat Titik akhir.
Masuk ke Konsol Titik Akhir.
Pada halaman Create Endpoint, konfigurasikan parameter berikut untuk titik akhir dan klik Create.

Konfigurasi
Deskripsi
Region
Pilih wilayah tempat titik akhir berada. Pastikan wilayah tersebut sama dengan wilayah kluster Kerberos dan ruang kerja Serverless Spark.
Endpoint Name
Masukkan nama kustom untuk titik akhir.
Endpoint Type
Pilih Interface Endpoint.
Endpoint Service
Klik Select Available Service, lalu pilih atau masukkan ID layanan titik akhir target.
CatatanKirimkan informasi berikut dalam tiket untuk mendapatkan ID layanan titik akhir.
ID ruang kerja Serverless Spark, seperti
w-f8cfXXXXXX.ID VPC dari kluster Kerberos yang mengakses Gerbang Kyuubi. VPC tersebut harus memiliki vSwitch yang tersedia di dua zona, seperti
vpc-bp1tXXXXXX.Dua zona yang dipilih, seperti
I,J. Untuk mengetahui zona yang didukung di wilayah tersebut, hubungi layanan pelanggan melalui tiket.
VPC
Pilih VPC dari kluster Kerberos yang mengakses Gerbang Kyuubi.
Security Group
Pilih grup keamanan untuk dikaitkan dengan endpoint elastic network interface (ENI).
CatatanSecara default, Anda dapat menambahkan maksimal sembilan grup keamanan ke titik akhir.
Zone And VSwitch
Pilih zona yang disebutkan sebelumnya dan vSwitch yang sesuai.
IP Version
Jenis jaringan yang didukung.
IPv4: Mendukung akses klien menggunakan Alamat IPv4.
Dual-stack: Mendukung akses klien menggunakan Alamat IPv4 dan Alamat IPv6.
CatatanKonsumen layanan hanya dapat memilih opsi ini setelah penyedia layanan menyelesaikan konfigurasi dual-stack.
Resource Group
Pilih kelompok sumber daya tempat titik akhir berada.
Tag
Pilih atau masukkan Tag Key dan Tag Value.
Pada halaman Basic Information, status Status bernilai active menunjukkan bahwa layanan titik akhir berhasil dibuat. Nama domain untuk layanan titik akhir adalah
ep-xxxxxxxxxxx.epsrv-xxxxxxxxxxx.cn-hangzhou.privatelink.aliyuncs.com.Masuk ke kluster Kerberos dan uji konektivitas jaringan.

Konfigurasi resolusi nama domain (Opsional)
Nama domain layanan titik akhir default cukup panjang. Untuk kemudahan, Anda dapat mengonfigurasi nama domain otoritatif internal kustom. Untuk informasi selengkapnya, lihat Nama Domain Otoritatif Internal.
Masuk ke konsol . Pada tab Internal Authoritative, klik tab Custom Domain Names, lalu klik Add Zone.
Masukkan Internal Authoritative Domain Name, pilih VPC tempat nama domain akan berlaku, lalu klik OK. Topik ini menggunakan
kyuubi-kerberos.abcsebagai contoh.CatatanJika opsi Domain Name Type tersedia, pilih Internal Authoritative Acceleration Zone. Jika opsi Domain Name Type tidak tersedia, Anda tidak perlu memilih jenis karena nama domain Internal Authoritative Acceleration Zone dibuat secara default.
Pada tab Custom Domain Names, temukan nama domain target dan klik DNS Settings pada kolom Actions. Pada kotak dialog yang muncul, klik Add Record dan pilih Form Mode.
Atur Record Type menjadi CNAME. Untuk Hostname, masukkan nilai, seperti
test. Untuk Record Value, masukkan nama domain layanan titik akhirep-xxxxxxxxxxx.epsrv-xxxxxxxxxxx.cn-hangzhou.privatelink.aliyuncs.com. Setelah Anda mengklik OK, nama domain layanan titik akhir dipetakan ke test.kyuubi-kerberos.abc.Masuk ke kluster Kerberos dan uji konektivitas jaringan.
ping test.kyuubi-kerberos.abc
Buat file keytab
Jalankan perintah berikut untuk mengakses alat admin.local Kerberos.
kadmin.localBuat principal dalam format
kyuubi/<fqdn>@<REALM>. Untuk bagianfqdn, gunakan nama domain titik akhirep-xxxxxxxxxxx.epsrv-xxxxxxxxxxx.cn-hangzhou.privatelink.aliyuncs.com. Jika Anda mengonfigurasi nama domain kustom dengan rekaman CNAME, gunakan nama domain kustom tersebut, sepertitest.kyuubi-kerberos.abc.addprinc -randkey kyuubi/ep-xxxxxxxxxxx.epsrv-xxxxxxxxxxx.cn-hangzhou.privatelink.aliyuncs.com@EMR.C-DFD4*****C204.COMEkspor file keytab dan keluar dari alat admin.local Kerberos.
xst -kt /root/kyuubi.keytab kyuubi/ep-xxxxxxxxxxx.epsrv-xxxxxxxxxxx.cn-hangzhou.privatelink.aliyuncs.com@EMR.C-DFD4*****C204.COM quitUnggah file keytab yang dihasilkan ke bucket OSS.
hadoop fs -put /root/kyuubi.keytab oss://<YOUR_BUCKET>.<region>.oss-dls.aliyuncs.com/
Konfigurasi Gerbang Kyuubi
Untuk menggunakan Kerberos dengan Gerbang Kyuubi, Anda dapat mengonfigurasi Kyuubi Configurations berikut.
kyuubi.authentication KERBEROS
kyuubi.kinit.principal kyuubi/ep-xxxxxxxxxxx.epsrv-xxxxxxxxxxx.cn-hangzhou.privatelink.aliyuncs.com@EMR.C-DFD43******7C204.COM
kyuubi.kinit.keytab /opt/kyuubi/work-dir/kyuubi.keytab
kyuubi.files oss://bucket/path/to/kyuubi.keytabItem Konfigurasi | Deskripsi |
kyuubi.authentication | Menentukan metode autentikasi yang digunakan oleh Gerbang Kyuubi. Atur ke |
kyuubi.kinit.principal | Menentukan principal yang digunakan Gerbang Kyuubi untuk otentikasi Kerberos. Formatnya adalah |
kyuubi.kinit.keytab | Menentukan file keytab yang digunakan Gerbang Kyuubi. Catatan: Jalurnya tetap. Anda hanya perlu mengganti nama file keytab. |
kyuubi.files | Jalur OSS dari file keytab yang Anda unggah pada langkah Buat file keytab. |
Spark Configurations berikut diperlukan untuk menghubungkan ke Hive Metastore (HMS) yang diaktifkan Kerberos.
spark.hadoop.hive.metastore.uris thrift://master-1-1.c-1d36*****e840c.cn-hangzhou.emr.aliyuncs.com:9083
spark.hadoop.hive.imetastoreclient.factory.class org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClientFactory
spark.hive.metastore.kerberos.principal hive/_HOST@EMR.C-DFD4*****C204.COM
spark.hive.metastore.sasl.enabled true
spark.emr.serverless.network.service.name <network_name>Item Konfigurasi | Deskripsi |
spark.hadoop.hive.metastore.uris | Alamat HMS. |
spark.hadoop.hive.imetastoreclient.factory.class | Menentukan kelas pabrik untuk membuat klien HMS. |
spark.hive.metastore.kerberos.principal | Principal untuk HMS dalam lingkungan Kerberos. |
spark.hive.metastore.sasl.enabled | Menentukan apakah otentikasi Kerberos diaktifkan. |
spark.emr.serverless.network.service.name | Nama koneksi jaringan. |
Dalam lingkungan kluster HA, Anda dapat mengonfigurasi beberapa alamat Thrift untuk `metastore.uris`. Pisahkan alamat dengan koma. Anda harus menggunakan hostname, bukan alamat IP.
Jika Anda hanya menentukan satu alamat Thrift untuk `metastore.uris`, Anda dapat menggunakan alamat IP. Namun, `metastore.kerberos.principal` harus dalam format `hive/<hostname HMS>@<REALM>`.
Anda dapat menyederhanakan `metastore.kerberos.principal` ke format `hive/_HOST@<REALM>` hanya jika `metastore.uris` menggunakan hostname.
Simpan konfigurasi dan mulai Gerbang Kyuubi.
Kirim pekerjaan
Anda dapat menggunakan pekerjaan show databases untuk memverifikasi bahwa kluster Kerberos dapat terhubung ke Gerbang Kyuubi dan berhasil menjalankan pekerjaan Spark.
Persiapkan pengguna Kerberos dengan izin yang diperlukan dan ekspor file keytab-nya.
Jalankan perintah berikut untuk mengekspor file keytab.
kadmin.local addprinc -randkey hadoop xst -kt /root/hadoop.keytab hadoop quit
Gunakan file keytab untuk otentikasi Kerberos.
kinit -kt hadoop.keytab hadoopJalankan perintah berikut untuk terhubung ke Gerbang Kyuubi dan memulai pekerjaan Spark.
/opt/apps/KYUUBI/kyuubi-1.9.2-1.0.0/bin/kyuubi-beeline -u 'jdbc:hive2://ep-xxxxxxxxxxx.epsrv-xxxxxxxxxxx.cn-hangzhou.privatelink.aliyuncs.com:10009/;principal=kyuubi/_HOST@EMR.C-DFD43*****7C204.COM'Setelah terhubung, jalankan
show databases.
Jika pekerjaan Spark Anda perlu terhubung ke layanan HMS atau Hadoop Distributed File System (HDFS) yang diaktifkan otentikasi Kerberos, Anda harus memodifikasi file core-site.xml untuk komponen HADOOP-COMMON atau HDFS di kluster. Tambahkan dua konfigurasi berikut ke file tersebut. Hal ini memungkinkan pengguna kyuubi melakukan impersonasi pengguna lain saat mengakses layanan HDFS atau HMS. Jika Anda tidak menambahkan konfigurasi ini, koneksi mungkin gagal.
hadoop.proxyuser.kyuubi.hosts = *
hadoop.proxyuser.kyuubi.groups = *Versi terbaru kluster EMR DataLake sudah menyertakan parameter ini secara default. Setelah menambahkan parameter, Anda harus me-restart layanan HDFS atau HMS.