All Products
Search
Document Center

E-MapReduce:Gunakan Kerberos dengan Kyuubi Gateway

Last Updated:Jul 14, 2026

Anda dapat mengaktifkan Kerberos untuk Kyuubi Gateway di Serverless Spark guna menerapkan otentikasi aman dan kontrol akses. Setelah dikonfigurasi, klien harus menggunakan Kerberos untuk melakukan otentikasi saat mengirimkan pekerjaan ke gateway, sehingga meningkatkan keamanan eksekusi pekerjaan.

Batasan

  • Kluster EMR on ECS dan ruang kerja Serverless Spark harus berada di wilayah yang sama.

Prasyarat

  • Kluster EMR on ECS dengan otentikasi Kerberos yang diaktifkan telah dibuat. Untuk informasi selengkapnya, lihat Buat kluster.

  • Ruang kerja Serverless Spark dengan otentikasi Kerberos yang diaktifkan telah dibuat. Untuk informasi selengkapnya, lihat Aktifkan otentikasi Kerberos.

  • Kyuubi Gateway telah dibuat di ruang kerja Serverless Spark. Gateway tidak perlu dalam status Berjalan.

Buat koneksi jaringan

Untuk menggunakan Kerberos dengan Kyuubi Gateway, Anda harus mengonfigurasi PrivateLink guna membangun konektivitas jaringan antara Serverless Spark dan kluster Kerberos. Konfigurasi ini tidak dapat dilakukan melalui self-service. Untuk menyelesaikan pengaturan, kirimkan tiket dengan informasi yang diperlukan, dan tim dukungan teknis kami akan membantu Anda.

Buat endpoint

Endpoint dibuat dan dikelola oleh konsumen layanan. Anda dapat mengaitkannya dengan Layanan titik akhir untuk membangun koneksi jaringan pribadi guna mengakses layanan eksternal melalui PrivateLink. Untuk informasi selengkapnya, lihat Endpoints.

  1. Masuk ke Endpoint console.

  2. Pada halaman Create Endpoint, konfigurasikan endpoint dengan parameter berikut, lalu klik Create.image

    Parameter

    Deskripsi

    Region

    Pilih wilayah untuk endpoint. Pastikan wilayah tersebut sesuai dengan wilayah kluster Kerberos dan ruang kerja Serverless Spark.

    Node Name

    Masukkan nama kustom untuk endpoint.

    Endpoint Type

    Pilih Interface Endpoint.

    Endpoint Service

    Klik Select Service, lalu pilih atau masukkan ID Layanan titik akhir target.

    Catatan

    Untuk mendapatkan ID Layanan titik akhir, kirimkan tiket dengan informasi berikut:

    • ID ruang kerja Serverless Spark, misalnya w-f8cfXXXXXX.

    • ID VPC dari kluster Kerberos yang mengakses Kyuubi Gateway. VPC ini harus memiliki vSwitch yang tersedia di dua zona. Contoh: vpc-bp1tXXXXXX.

    • Dua zona yang dipilih, misalnya I,J. Untuk mengetahui zona mana saja yang didukung di wilayah Anda, tanyakan kepada tim dukungan kami melalui tiket.

    • ID Kyuubi Gateway, misalnya kb-564e********266f.

    VPC

    Pilih VPC dari kluster Kerberos yang mengakses Kyuubi Gateway.

    Security Group

    Pilih security group untuk dikaitkan dengan antarmuka jaringan elastis (ENI) endpoint.

    Catatan

    Anda dapat mengaitkan hingga sembilan security group ke satu endpoint.

    Zone and vSwitch

    Pilih zona dan vSwitch yang sesuai yang telah Anda tentukan sebelumnya.

    IP Version

    Jenis jaringan berikut didukung:

    • IPv4: Memungkinkan klien menggunakan Alamat IPv4 untuk akses.

    • Dual-stack: Memungkinkan klien menggunakan Alamat IPv4 dan IPv6 untuk akses.

    Catatan

    Anda hanya dapat memilih opsi dual-stack setelah penyedia layanan menyelesaikan konfigurasi dual-stack.

    Resource Group

    Pilih kelompok sumber daya tempat endpoint berada.

    Tags

    Pilih atau masukkan Tag Key dan Tag Value.

  3. Pada halaman Basic Information, jika Status menunjukkan Status, artinya endpoint siap digunakan. Nama domain Layanan titik akhir adalah ep-xxxxxxxxxxx.epsrv-xxxxxxxxxxx.cn-hangzhou.privatelink.aliyuncs.com.

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

Konfigurasi resolusi DNS (Opsional)

Nama domain Layanan titik akhir default cukup panjang. Untuk menyederhanakannya, Anda dapat mengonfigurasi nama domain otoritatif internal kustom. Untuk informasi selengkapnya, lihat Internal authoritative domain names.

  1. Masuk ke . Pada halaman Authoritative Zone, klik tab User-defined Zones, lalu klik Add Zone.

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

    Catatan

    Jika opsi Domain Type tersedia, pilih Private Authoritative Acceleration Zone. Jika opsi Domain Type tidak tersedia, Anda tidak perlu memilih apa pun, dan domain Private Authoritative Acceleration Zone akan dibuat secara default.

  3. Pada tab User-defined Zones, temukan nama domain target dan klik Settings di kolom Actions. Lalu, klik Add Record dan pilih Form Editor Mode pada kotak dialog.

  4. Atur Record Type menjadi CNAME. Untuk Hostname, masukkan awalan. Dalam contoh ini, digunakan test. Untuk Record Value, masukkan nama domain Layanan titik akhir ep-xxxxxxxxxxx.epsrv-xxxxxxxxxxx.cn-hangzhou.privatelink.aliyuncs.com. Mengklik OK akan memetakan nama domain Layanan titik akhir ke test.kyuubi-kerberos.abc.

  5. Masuk ke kluster Kerberos dan uji koneksi jaringan.

    ping test.kyuubi-kerberos.abc

Buat file keytab

  1. Masuk ke kluster Kerberos.

  2. Jalankan perintah berikut untuk memulai tool kadmin.local untuk Kerberos:

    kadmin.local
  3. Buat principal dalam format kyuubi/<fqdn>@<REALM>. Kami menyarankan Anda menggunakan nama domain endpoint ep-xxxxxxxxxxx.epsrv-xxxxxxxxxxx.cn-hangzhou.privatelink.aliyuncs.com untuk bagian fqdn. Jika Anda telah mengonfigurasi rekaman CNAME untuk meresolusi nama domain kustom, 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 tool kadmin.local.

    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 Object Storage Service (OSS).

    hadoop fs -put /root/kyuubi.keytab oss://<YOUR_BUCKET>.<region>.oss-dls.aliyuncs.com/

Konfigurasi Kyuubi Gateway

Untuk menggunakan Kerberos dengan Kyuubi Gateway, tambahkan Kyuubi Configuration 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

Parameter

Deskripsi

kyuubi.authentication

Menentukan mode otentikasi yang digunakan oleh Kyuubi Gateway. Atur parameter ini ke KERBEROS.

kyuubi.kinit.principal

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

kyuubi.kinit.keytab

Menentukan file keytab yang digunakan oleh Kyuubi Gateway. Catatan: Jalurnya bersifat tetap. Anda hanya perlu mengganti nama file keytab.

kyuubi.files

Jalur OSS ke file keytab yang telah Anda unggah di bagian "Buat file keytab".

Jika Anda perlu menghubungkan ke Hive Metastore (HMS) yang diaktifkan Kerberos, tambahkan Spark Configuration berikut.

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>

Parameter

Deskripsi

spark.hadoop.hive.metastore.uris

Alamat Hive Metastore (HMS).

spark.hadoop.hive.imetastoreclient.factory.class

Menentukan kelas pabrik untuk membuat klien HMS.

spark.hive.metastore.kerberos.principal

Principal untuk HMS di lingkungan Kerberos.

spark.hive.metastore.sasl.enabled

Menentukan apakah otentikasi Kerberos diaktifkan.

spark.emr.serverless.network.service.name

Nama koneksi jaringan.

Catatan
  • Pada kluster dengan ketersediaan tinggi (HA), Anda dapat mengonfigurasi beberapa alamat Thrift untuk metastore.uris. Alamat-alamat tersebut harus dipisahkan dengan koma, dan 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 of HMS>@<REALM>.

  • Anda dapat menyederhanakan metastore.kerberos.principal ke format hive/_HOST@<REALM> hanya jika metastore.uris menggunakan hostname.

Simpan konfigurasi dan mulai Kyuubi Gateway.

Kirim pekerjaan

Jalankan perintah show databases untuk memverifikasi bahwa kluster Kerberos dapat terhubung ke Kyuubi Gateway dan memulai pekerjaan Spark.

  1. Siapkan pengguna Kerberos yang memiliki 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. Lakukan otentikasi dengan Kerberos menggunakan file keytab.

    kinit -kt hadoop.keytab hadoop
  3. Jalankan perintah berikut untuk terhubung ke Kyuubi Gateway 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 Hive Metastore (HMS) atau Hadoop Distributed File System (HDFS) yang diaktifkan Kerberos, Anda harus memodifikasi file konfigurasi core-site.xml pada kluster HMS atau HDFS. Tambahkan properti berikut ke file tersebut agar pengguna kyuubi dapat melakukan impersonasi terhadap pengguna lain saat mengakses layanan. Jika tidak, koneksi mungkin gagal.

hadoop.proxyuser.kyuubi.hosts = *
hadoop.proxyuser.kyuubi.groups = *

Kluster EMR DataLake versi terbaru sudah menyertakan properti ini secara default. Setelah menambahkan properti tersebut, Anda harus melakukan restart layanan HDFS atau HMS.