全部产品
Search
文档中心

E-MapReduce:Gunakan Kerberos dengan Gerbang Kyuubi

更新时间:Nov 10, 2025

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.

  1. Masuk ke Konsol Titik Akhir.

  2. Pada halaman Create Endpoint, konfigurasikan parameter berikut untuk titik akhir dan klik Create.image

    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.

    Catatan

    Kirimkan 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).

    Catatan

    Secara 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.

    Catatan

    Konsumen 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.

  3. 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.

  4. Masuk ke kluster Kerberos dan uji konektivitas jaringan.image

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.

  1. Masuk ke konsol . Pada tab Internal Authoritative, klik tab Custom Domain Names, lalu klik Add Zone.

  2. Masukkan Internal Authoritative Domain Name, pilih VPC tempat nama domain akan berlaku, lalu klik OK. Topik ini menggunakan kyuubi-kerberos.abc sebagai contoh.

    Catatan

    Jika 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.

  3. 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.

  4. Atur Record Type menjadi CNAME. Untuk Hostname, masukkan nilai, seperti test. Untuk Record Value, masukkan nama domain layanan titik akhir ep-xxxxxxxxxxx.epsrv-xxxxxxxxxxx.cn-hangzhou.privatelink.aliyuncs.com. Setelah Anda mengklik OK, nama domain layanan titik akhir dipetakan ke test.kyuubi-kerberos.abc.

  5. Masuk ke kluster Kerberos dan uji konektivitas jaringan.

    ping test.kyuubi-kerberos.abc

Buat file keytab

  1. Masuk ke kluster Kerberos.

  2. Jalankan perintah berikut untuk mengakses alat admin.local Kerberos.

    kadmin.local
  3. Buat principal dalam format kyuubi/<fqdn>@<REALM>. Untuk bagian fqdn, gunakan nama domain titik akhir ep-xxxxxxxxxxx.epsrv-xxxxxxxxxxx.cn-hangzhou.privatelink.aliyuncs.com. Jika Anda mengonfigurasi nama domain kustom dengan rekaman CNAME, gunakan nama domain kustom tersebut, seperti test.kyuubi-kerberos.abc.

    addprinc -randkey kyuubi/ep-xxxxxxxxxxx.epsrv-xxxxxxxxxxx.cn-hangzhou.privatelink.aliyuncs.com@EMR.C-DFD4*****C204.COM
  4. Ekspor 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
    quit
  5. Unggah 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.keytab

Item Konfigurasi

Deskripsi

kyuubi.authentication

Menentukan metode autentikasi yang digunakan oleh Gerbang Kyuubi. Atur ke KERBEROS.

kyuubi.kinit.principal

Menentukan principal yang digunakan Gerbang Kyuubi untuk otentikasi Kerberos. Formatnya adalah <user>/<host>@<realm>.

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.

Catatan
  • 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.

  1. Persiapkan pengguna Kerberos dengan izin yang diperlukan dan ekspor file keytab-nya.

    1. Masuk ke kluster Kerberos.

    2. Jalankan perintah berikut untuk mengekspor file keytab.

      kadmin.local
      addprinc -randkey hadoop
      xst -kt /root/hadoop.keytab hadoop
      quit
  2. Gunakan file keytab untuk otentikasi Kerberos.

    kinit -kt hadoop.keytab hadoop
  3. Jalankan 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'
  4. Setelah terhubung, jalankan show databases.image

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.