Dialek yang menggunakan petunjuk ini
Looker terhubung ke database Impala berikut:
- Cloudera Impala 3.1+
- Cloudera Impala 3.1+ dengan Native Driver
- Cloudera Impala dengan Native Driver
Mengenkripsi lalu lintas jaringan
Praktik terbaiknya adalah mengenkripsi traffic jaringan antara aplikasi Looker dan database Anda. Pertimbangkan salah satu opsi yang dijelaskan di halaman dokumentasi Mengaktifkan akses database yang aman.
Mengonfigurasi Looker agar terhubung ke Cloudera Impala
Looker terhubung ke database melalui koneksi JDBC. Untuk database Impala, Looker terhubung secara default ke server yang menjalankan daemon impalad
pada port 21050. Untuk informasi selengkapnya, lihat bagian Mengonfigurasi Impala agar berfungsi dengan JDBC dalam dokumentasi di situs Cloudera.
Di bagian Admin Looker, pilih Connections, lalu klik Add Connection.
Konfigurasi koneksi Looker bergantung pada keamanan yang digunakan:
- Cluster yang tidak menggunakan Kerberos atau autentikasi pengguna
- Cluster yang memerlukan autentikasi LDAP
- Cluster yang diamankan dengan Kerberos, tetapi tidak menggunakan Apache Sentry
Menghubungkan ke cluster tanpa Kerberos atau autentikasi pengguna
Untuk mengonfigurasi koneksi yang tidak menggunakan Kerberos atau autentikasi pengguna, ikuti langkah-langkah berikut:
- Di halaman Connection Settings, kosongkan kolom Username dan Password. (
*
di samping nama kolom menyiratkan bahwa kolom ini wajib diisi, tetapi tidak wajib.) - Di kolom Parameter JDBC tambahan, masukkan
;auth=noSasl
.
Memverifikasi string koneksi
Untuk memverifikasi string koneksi JDBC di file log, pada panel Admin Looker, klik Log di menu kiri. Kemudian, filter log berdasarkan istilah seperti jdbc
atau noSasl
. Baris log akan terlihat seperti ini:
jdbc connect using: jdbc:hive2://<HOSTNAME>/<DATABASE_NAME>;auth=noSasl
Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi database Impala agar berfungsi dengan JDBC, lihat dokumentasi di situs Cloudera eksternal.
Menghubungkan ke cluster yang memerlukan autentikasi LDAP
Untuk cluster yang memerlukan autentikasi LDAP, termasuk cluster dengan Apache Sentry dan Kerberos, di halaman Connection Settings, masukkan Username dan Password yang memiliki akses ke skema yang akan diakses Looker.
Terhubung ke cluster yang diamankan dengan Kerberos, tetapi tidak menggunakan Apache Sentry
Tim analis Looker mungkin perlu membantu mengonfigurasi koneksi ini dengan benar.
Biasanya, autentikasi Kerberos dengan lingkungan Cloudera ditangani melalui Apache Sentry. Lihat dokumentasi Cloudera untuk detail selengkapnya.
Jika Anda ingin mengonfigurasi Looker agar terhubung langsung ke database Impala menggunakan autentikasi Kerberos, ikuti langkah-langkah di halaman ini.
Menyiapkan konfigurasi klien Kerberos
Pertama, Anda perlu memastikan penginstalan beberapa software dan adanya beberapa file di mesin Looker.
Klien Kerberos
Pastikan klien Kerberos telah diinstal di mesin Looker dengan mencoba menjalankan kinit
. Jika klien Kerberos tidak diinstal, instal biner klien Kerberos.
Sebagai contoh, di Redhat/CentOS, ini adalah:
sudo yum install krb5-workstation krb5-libs krb5-auth-dialog
Java 8
Java 8 harus diinstal di mesin Looker serta di PATH
dan JAVA_HOME
pengguna Looker. Jika perlu, instal secara lokal di direktori looker
.
Ekstensi Kriptografi Java
Download dan instal Java Cryptography Extension (JCE) untuk Java 8 dari situs Oracle.
- Temukan direktori
jre/lib/security
untuk penginstalan Java. - Hapus file JAR berikut dari direktori ini:
local_policy.jar
danUS_export_policy.jar
. - Ganti kedua file ini dengan file JAR yang disertakan dalam download File Kebijakan Yurisdiksi Kekuatan Tidak Terbatas JCE.
Anda dapat menggunakan versi Java sebelum Java 8 dengan JCE yang sudah diinstal, tetapi hal ini tidak disarankan.
- Temukan direktori
Update
JAVA_HOME
danPATH
di~looker/.bash_profile
agar mengarah ke penginstalan Java dansource ~/.bash_profile
yang benar, atau logout dan login lagi.Verifikasi versi Java dengan
java -version
.Verifikasi variabel lingkungan
JAVA_HOME
denganecho $JAVA_HOME
.
gss-jaas.conf
Dalam direktori looker
, buat file gss-jaas.conf
dengan konten berikut:
com.sun.security.jgss.initiate {
com.sun.security.auth.module.Krb5LoginModule required
useTicketCache=true
doNotPrompt=true;
};
Jika diperlukan untuk pengujian, debug=true
dapat ditambahkan ke file ini seperti ini:
com.sun.security.jgss.initiate {
com.sun.security.auth.module.Krb5LoginModule required
useTicketCache=true
doNotPrompt=true
debug=true;
};
krb5.conf
Server yang menjalankan Looker juga harus memiliki file krb5.conf
yang valid. Secara default, file ini ada di /etc/krb5.conf
. Jika berada di lokasi lain, hal itu harus ditunjukkan di lingkungan (KRB5_CONFIG
di lingkungan shell).
Anda mungkin perlu menyalinnya dari komputer klien Kerberos lainnya.
lookerstart.cfg
Arahkan kursor ke file gss-jaas.conf
dan krb5.conf
dengan membuat file di direktori looker
(direktori sama yang berisi skrip startup looker
) yang disebut lookerstart.cfg
yang berisi baris berikut:
JAVAARGS="-Djava.security.auth.login.config=/path/to/gss-jaas.conf -Djavax.security.auth.useSubjectCredsOnly=false -Djava.security.krb5.conf=/etc/krb5.conf"
LOOKERARGS=""
Jika file krb5.conf
tidak ada di /etc/krb5.conf
, variabel ini juga perlu ditambahkan:
-Djava.security.krb5.conf=/path/to/krb5.conf
Untuk proses debug, tambahkan variabel berikut:
-Dsun.security.jgss.debug=true -Dsun.security.krb5.debug=true
Lalu, mulai ulang Looker dengan ./looker restart
.
Mengautentikasi dengan Kerberos
Autentikasi pengguna
Jika
krb5.conf
tidak ada dalam/etc/
, gunakan variabel lingkunganKRB5_CONFIG
untuk menunjukkan lokasinya.Jalankan perintah
klist
untuk memastikan ada tiket yang valid di cache tiket Kerberos.Jika tidak ada tiket, jalankan
kinit username@REALM
ataukinit username
untuk membuat tiket.Akun yang digunakan dengan Looker kemungkinan akan menjadi headless, sehingga Anda bisa mendapatkan file keytab dari Kerberos guna menyimpan kredensial untuk penggunaan jangka panjang. Gunakan perintah seperti
kinit -k -t looker_user.keytab username@REALM
untuk mendapatkan tiket Kerberos.
Memperpanjang tiket secara otomatis
Siapkan cron job yang sering berjalan untuk mempertahankan tiket aktif di cache tiket Kerberos. Seberapa sering proses ini harus dijalankan bergantung pada konfigurasi cluster. klist
harus memberikan indikasi seberapa cepat masa berlaku tiket habis.
Membuat koneksi Looker ke database Anda
Di bagian Admin Looker, pilih Connections, lalu klik Add Connection.
Isi detail koneksi sebagai berikut (lihat halaman dokumentasi Menghubungkan Looker ke database Anda untuk mengetahui informasi selengkapnya):
- Name: Nama koneksi. Inilah bagaimana koneksi akan dirujuk dalam model LookML.
Dialek: Cloudera Impala 3.1+, Cloudera Impala 3.1+ with Native Driver, atau Cloudera Impala dengan Native Driver.
Host: Nama host.
Port: Port database (21050 secara default).
Database: Skema/database default yang akan dimodelkan. Jika tidak ada {i>database<i} yang ditentukan untuk tabel, hal ini akan dianggap sebagai asumsi.
Username: Biarkan kosong.
Password: Biarkan kosong.
Aktifkan PDT: Gunakan tombol ini untuk mengaktifkan tabel turunan persisten. Jika PDT diaktifkan, jendela Connection akan menampilkan setelan PDT tambahan dan bagian PDT Overrides.
Temp Database: Skema/database sementara untuk menyimpan PDT. Nama ini harus dibuat terlebih dahulu.
Parameter JDBC tambahan: Parameter tambahan untuk string JDBC. Tentukan akun utama Kerberos di sini, misalnya
;principal=impala/impala.company.com@REALM
. Akun utama tiga bagian bersifat standar. Yang pertama (impala
) biasanya adalah nama layanan, dan yang terakhir (REALM
) umumnya adalah realm.SSL: Centang untuk menggunakan koneksi SSL. Jika sertifikat SSL Anda tidak diterbitkan oleh Otoritas Sertifikat yang diakui secara luas dan Anda menggunakan sertifikat khusus, Anda harus:
- Salin file sertifikat ke server Looker. Opsi ini hanya tersedia untuk deployment Looker yang dihosting pelanggan.
- Tambahkan parameter berikut ke kolom Parameter JDBC tambahan yang disebutkan di atas:
sslTrustStore=/path/to/your/trust_store.jks;trustStorePassword=yourpassword
Lihat dokumentasi Cloudera untuk mengetahui detail selengkapnya tentang cara membentuk string JDBC yang benar untuk database Impala.
- Zona Waktu Database: Zona waktu data yang disimpan di database Anda. Biasanya dapat dibiarkan kosong atau disetel ke UTC.
Praktik terbaiknya adalah menggunakan nama server (dalam contoh ini impala.company.com
) menjadi nama kanonis untuk server tersebut dan hasil pencarian DNS terbalik alamat IP-nya dalam nama tersebut. Namun, nama server harus berupa nama yang tercantum di pengontrol domain Kerberos:
nslookup servername # get canonical server name and IP address
nslookup ipaddress # get the canonical name back
Terkadang nama server diatur menjadi nama {i>host<i}, dan bukan nama domain yang sepenuhnya memenuhi syarat. Dalam hal ini, Anda mungkin perlu mengubah file /etc/hosts
dan /etc/nsswitch.conf
untuk memastikan pencarian balik diselesaikan sebagaimana mestinya.
Uji koneksi untuk memastikannya dikonfigurasi dengan benar.
Proses Debug
- Dokumentasi Cloudera tentang proses debug masalah autentikasi Impala.
- Saat Anda menambahkan proses debug ke konfigurasi, informasi proses debug tambahan akan muncul di
looker/logs/looker.log
.
Referensi
- Mengaktifkan autentikasi Kerberos untuk Impala (dokumentasi Cloudera)
- halaman manual terbaru
- halaman utama klist
- Dokumentasi gss-jaas.conf
- Dokumentasi Krb5LoginModule
Izin untuk PDT
Pengguna yang terhubung ke skema gores untuk tabel turunan persisten (PDT) harus memiliki izin baca/tulis.
Dukungan fitur
Agar Looker dapat mendukung beberapa fitur, dialek database Anda juga harus mendukung fitur tersebut.
Cloudera Impala dengan Native Driver
Cloudera Impala dengan Native Driver mendukung fitur berikut mulai Looker 24.6:
Fitur | Didukung? |
---|---|
Level Dukungan | Didukung |
Looker (Google Cloud core) | Tidak |
Agregat Simetris | Tidak |
Tabel Turunan | Ya |
Tabel Turunan SQL Persisten | Ya |
Tabel Turunan Berbasis Persisten | Ya |
Tampilan Stabil | Ya |
Penghentian Kueri | Ya |
Pivot berbasis SQL | Ya |
Zona waktu | Ya |
SSL | Ya |
Subtotal | Tidak |
Parameter Tambahan JDBC | Ya |
Peka Huruf Besar/Kecil | Ya |
Jenis Lokasi | Ya |
Jenis Daftar | Tidak |
Persentil | Tidak |
Persentil berbeda | Tidak |
Proses Tampilan Runner SQL | Tidak |
Tabel Deskripsi Runner SQL | Ya |
Indeks Tampilan Runner SQL | Tidak |
Pilihan Runner SQL 10 | Ya |
Jumlah Runner SQL | Ya |
Penjelasan SQL | Ya |
Kredensial OAuth | Tidak |
Komentar Konteks | Ya |
Penggabungan Koneksi | Tidak |
Sketsa HLL | Tidak |
Awareness Gabungan | Ya |
PDT inkremental | Tidak |
Milidetik | Ya |
Mikrodetik | Ya |
Tampilan Terwujud | Tidak |
Perkiraan Jumlah Berbeda | Ya |
Cloudera Impala 3.1+
Cloudera Impala 3.1+ mendukung fitur berikut mulai Looker 24.6:
Fitur | Didukung? |
---|---|
Level Dukungan | Didukung |
Looker (Google Cloud core) | Ya |
Agregat Simetris | Ya |
Tabel Turunan | Ya |
Tabel Turunan SQL Persisten | Ya |
Tabel Turunan Berbasis Persisten | Ya |
Tampilan Stabil | Ya |
Penghentian Kueri | Ya |
Pivot berbasis SQL | Ya |
Zona waktu | Ya |
SSL | Ya |
Subtotal | Tidak |
Parameter Tambahan JDBC | Ya |
Peka Huruf Besar/Kecil | Ya |
Jenis Lokasi | Ya |
Jenis Daftar | Tidak |
Persentil | Tidak |
Persentil berbeda | Tidak |
Proses Tampilan Runner SQL | Tidak |
Tabel Deskripsi Runner SQL | Ya |
Indeks Tampilan Runner SQL | Tidak |
Pilihan Runner SQL 10 | Ya |
Jumlah Runner SQL | Ya |
Penjelasan SQL | Ya |
Kredensial OAuth | Tidak |
Komentar Konteks | Ya |
Penggabungan Koneksi | Tidak |
Sketsa HLL | Tidak |
Awareness Gabungan | Ya |
PDT inkremental | Tidak |
Milidetik | Ya |
Mikrodetik | Ya |
Tampilan Terwujud | Tidak |
Perkiraan Jumlah Berbeda | Ya |
Cloudera Impala 3.1+ dengan Native Driver
Cloudera Impala 3.1+ dengan Native Driver mendukung fitur berikut mulai Looker 24.6:
Fitur | Didukung? |
---|---|
Level Dukungan | Didukung |
Looker (Google Cloud core) | Tidak |
Agregat Simetris | Ya |
Tabel Turunan | Ya |
Tabel Turunan SQL Persisten | Ya |
Tabel Turunan Berbasis Persisten | Ya |
Tampilan Stabil | Ya |
Penghentian Kueri | Ya |
Pivot berbasis SQL | Ya |
Zona waktu | Ya |
SSL | Ya |
Subtotal | Tidak |
Parameter Tambahan JDBC | Ya |
Peka Huruf Besar/Kecil | Ya |
Jenis Lokasi | Ya |
Jenis Daftar | Tidak |
Persentil | Tidak |
Persentil berbeda | Tidak |
Proses Tampilan Runner SQL | Tidak |
Tabel Deskripsi Runner SQL | Ya |
Indeks Tampilan Runner SQL | Tidak |
Pilihan Runner SQL 10 | Ya |
Jumlah Runner SQL | Ya |
Penjelasan SQL | Ya |
Kredensial OAuth | Tidak |
Komentar Konteks | Ya |
Penggabungan Koneksi | Tidak |
Sketsa HLL | Tidak |
Awareness Gabungan | Ya |
PDT inkremental | Tidak |
Milidetik | Ya |
Mikrodetik | Ya |
Tampilan Terwujud | Tidak |
Perkiraan Jumlah Berbeda | Ya |
Langkah berikutnya
Setelah menghubungkan database ke Looker, konfigurasi opsi login untuk pengguna.