Dialek yang menggunakan petunjuk ini
Looker terhubung ke database Impala berikut:
- Cloudera Impala 3.1+
- Cloudera Impala 3.1+ dengan Driver Native
- Cloudera Impala dengan Driver Native
Mengenkripsi traffic 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 untuk terhubung ke Cloudera Impala
Looker terhubung ke database melalui koneksi JDBC. Untuk database Impala, Looker terhubung secara default ke server yang menjalankan daemon impalad
di port 21050. Untuk mengetahui informasi selengkapnya, lihat bagian Mengonfigurasi Impala agar berfungsi dengan JDBC dalam dokumentasi di situs Cloudera.
Di bagian Admin di Looker, pilih Koneksi, lalu klik Tambahkan Koneksi.
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, biarkan kolom Username dan Password kosong. (
*
di samping nama kolom menyiratkan bahwa kolom ini wajib diisi, tetapi tidak.) - Di kolom Additional JDBC parameters, masukkan
;auth=noSasl
.
Memverifikasi string koneksi
Untuk memverifikasi string koneksi JDBC dalam file log, di panel Admin Looker, klik Log di menu kiri. Kemudian, filter log berdasarkan istilah seperti jdbc
atau noSasl
. Baris log mungkin terlihat seperti ini:
jdbc connect using: jdbc:hive2://<HOSTNAME>/<DATABASE_NAME>;auth=noSasl
Untuk 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 Setelan Koneksi, masukkan Nama Pengguna dan Sandi dengan akses ke skema yang akan diakses Looker.
Menghubungkan 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 mengetahui detail selengkapnya.
Jika Anda ingin mengonfigurasi Looker untuk 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 keberadaan beberapa file di komputer Looker.
Klien Kerberos
Pastikan klien Kerberos diinstal di komputer Looker dengan mencoba menjalankan kinit
. Jika klien Kerberos belum diinstal, instal biner klien Kerberos.
Misalnya, di Redhat/CentOS, perintahnya adalah:
sudo yum install krb5-workstation krb5-libs krb5-auth-dialog
Java 8
Java 8 harus diinstal di mesin Looker dan di PATH
dan JAVA_HOME
pengguna Looker. Jika perlu, instal secara lokal di direktori looker
.
Java Cryptography Extension
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 Tanpa Batas JCE.
Anda mungkin dapat menggunakan versi Java sebelum Java 8 dengan JCE yang diinstal, tetapi hal ini tidak direkomendasikan.
- Temukan direktori
Perbarui
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
Buat file gss-jaas.conf
di direktori looker
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 berada di /etc/krb5.conf
. Jika berada di lokasi lain, hal tersebut harus ditunjukkan di lingkungan (KRB5_CONFIG
di lingkungan shell).
Anda mungkin perlu menyalinnya dari komputer klien Kerberos lain.
lookerstart.cfg
Arahkan ke file gss-jaas.conf
dan krb5.conf
dengan membuat file di direktori looker
(direktori yang sama dengan 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 berada di /etc/krb5.conf
, Anda juga perlu menambahkan variabel ini:
-Djava.security.krb5.conf=/path/to/krb5.conf
Untuk proses debug, tambahkan variabel berikut:
-Dsun.security.jgss.debug=true -Dsun.security.krb5.debug=true
Kemudian, mulai ulang Looker dengan ./looker restart
.
Mengautentikasi dengan Kerberos
Autentikasi pengguna
Jika
krb5.conf
tidak ada di/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 headless, sehingga Anda bisa mendapatkan file keytab dari Kerberos untuk 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 tugas cron yang berjalan setiap saat untuk menyimpan tiket aktif di cache tiket Kerberos. Seberapa sering proses ini harus berjalan bergantung pada konfigurasi cluster. klist
harus memberikan indikasi kapan tiket akan habis masa berlakunya.
Membuat koneksi Looker ke database Anda
Di bagian Admin di Looker, pilih Koneksi, lalu klik Tambahkan Koneksi.
Isi detail koneksi sebagai berikut (lihat halaman dokumentasi Menghubungkan Looker ke database untuk mengetahui informasi selengkapnya):
- Nama: Nama koneksi. Ini adalah cara koneksi akan dirujuk dalam model LookML.
Dialek: Cloudera Impala 3.1+, Cloudera Impala 3.1+ dengan 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 database yang ditentukan untuk tabel, hal ini akan diasumsikan.
Nama pengguna: Biarkan kosong.
Sandi: Biarkan kosong.
Aktifkan PDT: Gunakan tombol ini untuk mengaktifkan tabel turunan persisten. Jika PDT diaktifkan, jendela Koneksi akan menampilkan setelan PDT tambahan dan bagian Penggantian PDT.
Database Sementara: Skema/database sementara untuk menyimpan PDT. File ini harus dibuat terlebih dahulu.
Parameter JDBC tambahan: Parameter tambahan untuk string JDBC. Tunjukkan akun utama Kerberos di sini, misalnya
;principal=impala/impala.company.com@REALM
. Prinsip tiga bagian adalah standar. Yang pertama (impala
) biasanya adalah nama layanan, dan yang terakhir (REALM
) biasanya adalah realm.SSL: Centang untuk menggunakan koneksi SSL. Jika sertifikat SSL Anda tidak dikeluarkan oleh Certificate Authority yang diakui secara luas dan Anda menggunakan sertifikat kustom, Anda harus:
- Salin file sertifikat ke server Looker. Fitur ini hanya tersedia untuk deployment Looker yang dihosting oleh pelanggan.
- Tambahkan parameter berikut ke kolom Parameter JDBC tambahan:
sslTrustStore=/path/to/your/trust_store.jks;trustStorePassword=yourpassword
Lihat dokumentasi Cloudera untuk mengetahui detail selengkapnya tentang cara membuat string JDBC yang benar untuk database Impala.
- Zona Waktu Database: Zona waktu data yang disimpan dalam database Anda. Biasanya, kolom ini dapat dikosongkan atau disetel ke UTC.
Praktik terbaiknya adalah menggunakan nama server (impala.company.com
dalam contoh ini) sebagai nama kanonis untuk server dan hasil pencarian DNS balik alamat IP-nya dalam nama tersebut. Namun, nama server harus sama dengan 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 ditetapkan sebagai nama host, bukan nama domain yang sepenuhnya memenuhi syarat. Dalam hal ini, Anda mungkin perlu mengubah file /etc/hosts
dan /etc/nsswitch.conf
untuk memastikan bahwa pencarian balik di-resolve seperti yang diinginkan.
Uji koneksi untuk memastikan koneksi 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 berakhir di
looker/logs/looker.log
.
Resource
- Mengaktifkan autentikasi Kerberos untuk Impala (dokumentasi Cloudera)
- Halaman man kinit
- Halaman man klist
- Dokumentasi gss-jaas.conf
- Dokumentasi Krb5LoginModule
Izin untuk PDT
Pengguna yang terhubung ke skema awal untuk tabel turunan persisten (PDT) harus memiliki izin baca/tulis.
Dukungan fitur
Agar Looker mendukung beberapa fitur, dialek database Anda juga harus mendukungnya.
Cloudera Impala dengan Driver Native
Cloudera Impala dengan Native Driver mendukung fitur berikut mulai Looker 24.20:
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 Tampilkan SQL Runner | Tidak |
SQL Runner Describe Table | Ya |
SQL Runner Show Indexes | Tidak |
SQL Runner Select 10 | Ya |
Jumlah SQL Runner | Ya |
SQL Explain | Ya |
Kredensial Oauth | Tidak |
Komentar Konteks | Ya |
Penggabungan Koneksi | Tidak |
Sketsa HLL | Tidak |
Kesadaran Agregat | 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.20:
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 Tampilkan SQL Runner | Tidak |
SQL Runner Describe Table | Ya |
SQL Runner Show Indexes | Tidak |
SQL Runner Select 10 | Ya |
Jumlah SQL Runner | Ya |
SQL Explain | Ya |
Kredensial Oauth | Tidak |
Komentar Konteks | Ya |
Penggabungan Koneksi | Tidak |
Sketsa HLL | Tidak |
Kesadaran Agregat | Ya |
PDT inkremental | Tidak |
Milidetik | Ya |
Mikrodetik | Ya |
Tampilan Terwujud | Tidak |
Perkiraan Jumlah Berbeda | Ya |
Cloudera Impala 3.1+ dengan Driver Native
Cloudera Impala 3.1+ dengan Native Driver mendukung fitur berikut mulai Looker 24.20:
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 Tampilkan SQL Runner | Tidak |
SQL Runner Describe Table | Ya |
SQL Runner Show Indexes | Tidak |
SQL Runner Select 10 | Ya |
Jumlah SQL Runner | Ya |
SQL Explain | Ya |
Kredensial Oauth | Tidak |
Komentar Konteks | Ya |
Penggabungan Koneksi | Tidak |
Sketsa HLL | Tidak |
Kesadaran Agregat | 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.