Halaman ini menjelaskan cara menginstal aplikasi Looker untuk deployment yang dihosting pelanggan.
Menghosting aplikasi Looker tidak bergantung pada tempat data Anda berada; data selalu tetap berada dalam database dan tidak disalin ke instance Looker.
Spesifikasi deployment
Jika akan menjalankan Looker di jaringan yang tidak terhubung ke Internet, Anda mungkin perlu menyiapkan server proxy untuk berkomunikasi dengan server lisensi Looker atau menggunakan layanan web serverless yang hanya melakukan panggilan web, seperti BigQuery.
Instal aplikasi Looker di komputer khusus yang memenuhi persyaratan minimum berikut:
- CPU 1,2 GHz; Looker merekomendasikan dua core atau lebih.
- RAM kosong 8 GB.
- Ruang disk kosong 10 GB.
- Ruang file swap 2 GB.
- Linux. Kami menggunakan Ubuntu Linux (rilis LTS) untuk hosting Looker internal, dan kami merekomendasikannya untuk pelanggan yang tidak memiliki preferensi Linux. Namun, kami mendukung Looker pada versi rilis semua distribusi Linux perusahaan utama, termasuk RedHat, CentOS, dan Amazon Linux. Looker hanya didukung pada versi Linux dengan set instruksi x64.
Java OpenJDK 11.0.12+ atau HotSpot 1.8 update 161+. Looker menggunakan OpenJDK (versi 11) untuk peningkatan performa dan penggunaan memori. Looker merekomendasikan JDK, bukan JRE, untuk memanfaatkan alat pemecahan masalah tambahan. Selain itu, Looker merekomendasikan agar Anda bertransisi ke update Java baru saat dirilis. Versi Java, Oracle JDK, dan OpenJDK lainnya tidak didukung untuk saat ini.
libssl
danlibcrypt.so
harus ada di sistem.Anda harus mengizinkan traffic masuk ke instance Looker melalui port TCP
9999
.Jika pengguna memerlukan akses API, Anda harus mengizinkan traffic masuk ke instance Looker melalui port TCP
19999
.Jika Looker terhubung ke AWS Redshift dari jaringan pribadi AWS VPC, Anda harus menetapkan MTU ke 1500. Untuk mengetahui informasi selengkapnya tentang setelan ini, lihat bagian Mengonfigurasi MTU instance di artikel Amazon Web Services ini. Jika Looker mendeteksi bahwa setelan MTU lebih besar dari 1.500 selama pengujian koneksi database, Looker akan menampilkan error berikut:
MTU of network interface eth0 is too large (> 1500). If Looker instance and Redshift cluster are within the same VPC, this warning can be ignored.
Setelan keepalive TCP berikut. Agar tetap ada setelah mulai ulang, setelan ini harus ditetapkan di
/etc/sysctl.conf
atau file di direktori/etc/sysctl.d
:net.ipv4.tcp_keepalive_time=200 net.ipv4.tcp_keepalive_intvl=200 net.ipv4.tcp_keepalive_probes=5
Pengguna bernama
looker
dalam grup bernamalooker
untuk menjalankan aplikasi Looker.Ulimit untuk pengguna
looker
dari4096
atau yang lebih tinggi. Anda dapat melakukannya dengan menambahkan baris berikut ke/etc/security/limits.conf
:looker soft nofile 4096 looker hard nofile 4096
Sinkronisasi waktu melalui NTP atau yang setara.
Folder
/tmp
tidak boleh dipasang dengan opsi noexec.Direktori beranda
looker
tidak boleh dipasang di volume NFS.Sebaiknya tetapkan zona waktu server ke UTC, tetapi tidak wajib.
Git 2.39.1 atau yang lebih baru diperlukan untuk Looker 23.6 dan yang lebih baru.
Meskipun tidak diperlukan, Netcat dapat membantu memecahkan masalah konektivitas jaringan. Untuk menginstal Netcat, misalnya, di server berbasis Ubuntu, perintah umum adalah:
sudo apt-get install netcat
Jika diperlukan, Anda dapat menyiapkan server proxy untuk menangani permintaan HTTP(S) yang harus dapat dilakukan Looker ke 'core' di localhost. Untuk berkomunikasi dengan server proxy lokal Looker, Anda harus menambahkan beberapa argumen khusus di
lookerstart.cfg
: tambahkanhttp.nonProxyHosts=localhost
untuk mengaktifkan akses ke localhost Looker tanpa melalui proxy.
Untuk menghindari konflik pemeliharaan dan resource, Anda tidak boleh menggunakan server Looker untuk menghosting aplikasi lain.
Mengaktifkan ntpd atau chronyd
NTP adalah singkatan dari Network Time Protocol. Tindakan ini memungkinkan jam sistem host Anda selalu mempertahankan waktu yang benar, yang diperlukan Looker agar berfungsi dengan benar. Looker tidak memerlukan software sinkronisasi waktu tertentu selama waktu tetap sinkron. Anda tidak perlu menjalankan server NTP; hanya klien NTP yang diperlukan. Anda dapat mengganti chronyd dengan NTP.
Lihat dokumentasi vendor OS Anda untuk mendapatkan informasi tentang cara mengaktifkan ntpd atau chronyd.
Buat kunci enkripsi
Looker menggunakan enkripsi Galois/Counter Mode (GCM) AES-256 untuk mengenkripsi data sensitif yang disimpan secara internal, termasuk:
- Cadangan database internal Looker
- Informasi koneksi database dan layanan
- Informasi autentikasi pengguna
- Nilai atribut pengguna
- Data pelanggan yang di-cache atau disiapkan untuk dikirim
Untuk mengetahui daftar mendetail data yang dienkripsi Looker, buka permintaan dukungan.
Data dienkripsi menggunakan kunci data unik dan berisi amplop enkripsi yang ditandatangani dan diberi versi untuk memastikan verifikasi. Mode ini memerlukan penggunaan Kunci Master Pelanggan (CMK) eksternal. CMK digunakan untuk mendapatkan, mengenkripsi, dan mendekripsi Kunci Enkripsi Kunci (KEK), yang kemudian digunakan untuk mendapatkan, mengenkripsi, dan mendekripsi kunci data.
Enkripsi hanya digunakan untuk database dan cache internal Looker. Database pelanggan tidak terpengaruh oleh enkripsi Looker dengan cara apa pun. Selain itu, hanya data statis (data yang disimpan di disk) yang dienkripsi dengan cara ini.
Penginstalan yang dihosting pelanggan dapat menggunakan akun AWS KMS mereka sendiri atau sistem pengelolaan kunci kustom mereka sendiri. Semua kunci data dan KEK dienkripsi dan digunakan secara internal di penginstalan Looker yang dihosting pelanggan. Jika Anda tidak menggunakan AWS KMS, CMK eksternal harus disimpan di lokasi yang aman dan permanen. Kehilangan CMK setelah mengenkripsi database internal dapat menyebabkan hilangnya instance Anda.
Jika Anda menggunakan AWS KMS
Jika Anda menggunakan AWS KMS, buat CMK menggunakan AWS Management Console atau API.
Setelah membuat CMK, Looker merekomendasikan agar Anda membuat peran IAM baru yang unik untuk CMK dan melampirkannya dengan instance Looker.
Berikut adalah contoh peran IAM yang berisi izin minimum yang diperlukan untuk CMK Anda:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "kms:GenerateRandom",
"Resource": "*"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"kms:Decrypt",
"kms:Encrypt",
"kms:Generate*",
],
"Resource": "arn:aws:kms:*:*:key/*"
}
]
}
Setelah membuat CMK dan peran IAM baru, tetapkan variabel lingkungan AWS_REGION
ke region AWS dan variabel lingkungan LKR_AWS_CMK
ke alias CMK Anda:
export AWS_REGION=<AWS_region>
export LKR_AWS_CMK=alias/<CMK_alias>
Secara opsional, Anda juga dapat menetapkan variabel lingkungan LKR_AWS_CMK_EC
untuk menetapkan konteks enkripsi AWS kustom. Jika Anda tidak menetapkan variabel lingkungan ini, Looker akan menggunakan konteks enkripsi default, string Looker_Encryption_Context
.
export LKR_AWS_CMK_EC=<My_Encryption_Context>
Jika Anda tidak menggunakan AWS KMS
Jika Anda tidak menggunakan AWS KMS, buat CMK Base64 32 byte. Anda dapat menyimpan CMK dalam variabel lingkungan atau dalam file:
Untuk membuat CMK dan menyimpannya dalam variabel lingkungan, Anda dapat menggunakan perintah berikut untuk membuat CMK:
openssl rand -base64 32
Setelah membuat CMK, salin dan gunakan perintah berikut untuk menyimpan CMK di variabel lingkungan
LKR_MASTER_KEY_ENV
(dengan<CMK_value>
adalah CMK yang Anda buat dengan perintah sebelumnya):export LKR_MASTER_KEY_ENV=<CMK_value>
Untuk membuat dan menyimpan CMK dalam file, Anda dapat menggunakan perintah berikut (dengan
<path_to_key_file>
adalah jalur dan nama file untuk menyimpan CMK):openssl rand -base64 32 > <path_to_key_file>
Setelah membuat file CMK, tetapkan izin file kunci ke hanya baca untuk pengguna saat ini:
chmod 0400 <path_to_key_file>
Setelah membuat CMK, pastikan untuk menyimpannya di lokasi yang aman dan permanen sebelum melanjutkan. Kehilangan CMK setelah mengenkripsi database internal dapat menyebabkan hilangnya instance Anda.
Setelah membuat dan menyimpan CMK, tetapkan variabel lingkungan LKR_MASTER_KEY_ENV
:
Jika Anda menyimpan CMK dalam variabel lingkungan, tetapkan variabel lingkungan
LKR_MASTER_KEY_ENV
ke nilai CMK:export LKR_MASTER_KEY_ENV=<CMK_value>
Jika Anda menyimpan CMK dalam file, tetapkan variabel lingkungan
LKR_MASTER_KEY_FILE
ke jalur file CMK:export LKR_MASTER_KEY_FILE=<path_to_key_file>
Setelah membuat CMK, pastikan untuk menyimpannya di lokasi yang aman dan permanen sebelum melanjutkan. Kehilangan CMK setelah mengenkripsi database internal dapat menyebabkan hilangnya instance Anda.
Menginstal aplikasi Looker
Buat grup
looker
.sudo groupadd looker
Buat pengguna
looker
dan direktori berandanya.sudo useradd -m -g looker looker
Beralihlah ke pengguna
looker
; jangan jalankan Looker sebagai root.sudo su - looker
Buat subdirektori
looker
di direktori utama.mkdir ~/looker
Ubah ke subdirektori
looker
.cd ~/looker
Pastikan Anda berada di direktori yang benar.
pwd
Jika direktori pengguna Anda berada di bagian
/home
, output perintah ini harus berupa/home/looker/looker
.Download file JAR Looker yang dipilih melalui salah satu metode di halaman dokumentasi Mendownload file JAR Looker. Pastikan kedua file JAR memiliki versi yang sama; menggunakan versi file JAR inti dan dependensi yang berbeda dapat menyebabkan ketidakstabilan dalam penginstalan Looker Anda.
Download skrip startup terbaru di repo GitHub looker-open-source. Jika ingin Looker berjalan saat sistem dimulai, Anda dapat mendownload skrip looker_init dan menggunakan opsi skrip
systemd
daninit
.Pindahkan skrip startup (bernama
looker
) dan file JAR Looker (bernamalooker-x.x.x.jar
danlooker-dependencies-x.x.x.jar
, denganx.x.x
adalah nomor versi) ke direktori~/looker
baru.Mengganti nama
looker-x.x.x.jar
menjadilooker.jar
danlooker-dependencies-x.x.x.jar
menjadilooker-dependencies.jar
.Skrip startup secara otomatis menentukan jumlah memori Java yang akan dialokasikan ke Looker. Jika Anda ingin menyesuaikan nilai ini secara manual, lihat halaman dokumentasi Setelan memori Java yang direkomendasikan untuk mengetahui informasi selengkapnya.
Buat skrip startup Looker dapat dieksekusi (tetapkan izin ke
0750
).chmod 0750 looker
Mulai proses Looker dari shell sebagai pengguna
looker
../looker start
Untuk bantuan flag startup, gunakan:
java -jar looker.jar --help
Atau, untuk bantuan perintah startup, gunakan:
java -jar looker.jar help
Buka browser ke
https://hostname:9999
denganhostname
adalah nama DNS host yang menjalankan Looker.Anda harus menggunakan
https
di URL, yang akan membuat peringatan keamanan yang harus Anda abaikan. Peringatan ini akan tetap ada hingga sertifikat SSL yang valid diinstal di server.Masukkan kunci lisensi yang diperoleh dari analis Looker Anda.
Masukkan nama, email, dan sandi untuk membuat akun pertama Anda.
Membuat data DNS
Tambahkan data DNS looker.[yourdomain].com
untuk server. Langkah ini bersifat opsional, tetapi direkomendasikan.
Men-deploy Looker secara otomatis
Looker dapat di-deploy menggunakan alat pengelolaan konfigurasi seperti Ansible atau Chef. Contoh peran Ansible untuk deployment otomatis tersedia di halaman dokumentasi Alat pengelolaan konfigurasi.
Penyesuaian hypervisor
Looker berjalan sebagai virtual machine Java. Jika instance Looker Anda berada di tamu VMware, Anda mungkin perlu melakukan beberapa penyesuaian performa. Lihat panduan praktik terbaik Java VMware.
Di platform virtualisasi lainnya, performa dapat ditingkatkan dengan mencadangkan memori host Looker dari hypervisor. Hal ini tidak dapat dikontrol di Amazon EC2; namun, untuk vendor lain, Anda harus membaca dokumentasi mereka untuk mengetahui informasi selengkapnya.
Menyiapkan database backend MySQL opsional
Secara default, Looker menggunakan database dalam memori HyperSQL untuk menyimpan konfigurasi, pengguna, dan data lainnya. Namun, Anda dapat menggunakan database MySQL eksternal untuk menyimpan informasi internal Looker. Lihat halaman dokumentasi Bermigrasi ke MySQL untuk mengetahui informasi tentang cara mengonfigurasi dan menyesuaikan database backend MySQL.
Langkah berikutnya
Setelah menginstal Looker, Anda siap mengonfigurasi opsi startup Looker.