Topik ini menjelaskan cara menggunakan command-line interface (CLI) untuk menghubungkan ke Impala pada E-MapReduce (EMR).
Prasyarat
Anda telah membuat kluster dan memilih layanan Impala. Untuk informasi selengkapnya, lihat Buat kluster.
Koneksi impala-shell
Sebelum menghubungkan ke Impala, Anda dapat menjalankan perintah impala-shell --help untuk informasi lebih lanjut.
Kluster standar
-
Hubungkan ke node master kluster melalui SSH. Untuk informasi selengkapnya, lihat Log on to a cluster.
-
Jalankan perintah berikut untuk menghubungkan ke Impala.
impala-shell -i <impalad_node_name>Placeholder
<impalad_node_name>dalam topik ini merepresentasikan nama node Impalad. Untuk mendapatkan nama node tersebut, buka tab Status layanan Impala di Konsol EMR, perluas komponen Impalad, lalu cari nama tersebut di kolom Node Name pada daftar topologi. Contohnya, nama node dapat berupa core-1-1 dan core-1-2. Anda dapat menggunakan salah satu nama tersebut untuk menghubungkan ke Impala. Ganti placeholder<impalad_node_name>pada perintah sebelumnya dengan nama node yang Anda peroleh. -
Opsional: Jalankan perintah
quit;untuk keluar dari CLI Impala.
Kluster berkeamanan tinggi
-
Hubungkan ke node master kluster melalui SSH. Untuk informasi selengkapnya, lihat Log on to a cluster.
-
Inisialisasi kredensial.
-
Jalankan perintah berikut untuk memeriksa kredensial Kerberos.
klistJika output berisi
klist: No credentials cache found, Anda harus menginisialisasi kredensial pada langkah berikutnya. Jika output sudah berisi informasi kredensial, Anda dapat melewati inisialisasi kredensial dan langsung menghubungkan ke Impala. -
Jalankan perintah berikut untuk melihat principal.
klist -k $IMPALA_CONF_DIR/impala.keytabCatat principal dari output tersebut. Anda akan membutuhkannya pada langkah berikutnya. Contohnya, principal adalah
impala/master-1-1.c-45dcb9bbe234****.cn-hangzhou.emr.aliyuncs.com@EMR.C-45DCB9BBE23****.COM.[root@master-l-1(192.16xxx) ~]# klist -k $IMPALA_CONF_DIR/impala.keytab Keytab name: FILE:/etc/taihao-apps/impala-conf/runtime-conf/impala.keytab KVNO Principal ---- ---------------------------------------------------------------- 2 impala/master-l-1.c-45dcb9bbe234xxx.cn-hangzhou.emr.aliyuncs.com@EMR.C-45DCB9BBE234xxx.COM 2 impala/master-l-1.c-45dcb9bbe234xxx.cn-hangzhou.emr.aliyuncs.com@EMR.C-45DCB9BBE234xxx.COM 2 impala/master-l-1.c-45dcb9bbe234xxx.cn-hangzhou.emr.aliyuncs.com@EMR.C-45DCB9BBE234xxx.COM 2 impala/master-l-1.c-45dcb9bbe234xxx.cn-hangzhou.emr.aliyuncs.com@EMR.C-45DCB9BBE234xxx.COM 2 impala/master-l-1.c-45dcb9bbe234xxx.cn-hangzhou.emr.aliyuncs.com@EMR.C-45DCB9BBE234xxx.COM 2 impala/master-l-1.c-45dcb9bbe234xxx.cn-hangzhou.emr.aliyuncs.com@EMR.C-45DCB9BBE234xxx.COM 2 impala/master-l-1.c-45dcb9bbe234xxx.cn-hangzhou.emr.aliyuncs.com@EMR.C-45DCB9BBE234xxx.COM 2 impala/master-l-1.c-45dcb9bbe234xxx.cn-hangzhou.emr.aliyuncs.com@EMR.C-45DCB9BBE234xxx.COM -
Jalankan perintah berikut untuk menginisialisasi kredensial.
kinit -k -t $IMPALA_CONF_DIR/impala.keytab <principal>CatatanGanti
<principal>dengan principal yang telah Anda catat pada langkah sebelumnya.
-
-
Jalankan perintah berikut untuk menghubungkan ke Impala.
impala-shell -k -i <impalad_node_name> -
Opsional: Jalankan perintah
quit;untuk keluar dari CLI Impala.
Koneksi Beeline JDBC
Kluster standar
-
Hubungkan ke node master kluster melalui SSH. Untuk informasi selengkapnya, lihat Log on to a cluster.
-
Jalankan perintah berikut untuk menghubungkan ke Impala.
beeline -u 'jdbc:hive2://<impalad_node_name>:28000/default;transportMode=http;uauth=noSasl' -
Opsional: Jalankan perintah
quit;untuk keluar dari CLI Impala.
Kluster berkeamanan tinggi
-
Hubungkan ke node core kluster melalui SSH. Untuk informasi selengkapnya, lihat Log on to a cluster.
-
Inisialisasi kredensial sebagai pengguna root.
-
Jalankan perintah berikut untuk memeriksa kredensial Kerberos.
klistJika output berisi pesan
klist: No credentials cache found, Anda harus melanjutkan ke langkah berikutnya untuk menginisialisasi kredensial akses. Jika output sudah berisi informasi kredensial, Anda dapat melewati langkah inisialisasi kredensial dan langsung menggunakan perintah impala-shell untuk menghubungkan ke Impala. -
Jalankan perintah berikut untuk melihat principal.
klist -k $IMPALA_CONF_DIR/impala.keytabCatat principal dari output tersebut. Anda akan membutuhkannya pada langkah berikutnya. Contohnya, principal adalah
impala/core-1-1.c-ee5cfb2d6306****.cn-hangzhou.emr.aliyuncs.com@EMR.C-EE5CFB2D6306****.COM.[root@core-1-1(xxx) ~]# klist -k $IMPALA_CONF_DIR/impala.keytab Keytab name: FILE:/etc/taihao-apps/impala-conf/runtime-conf/impala.keytab KVNO Principal ---- ---------------------------------------------------------------- 2 impala/core-1-1.c-ee5cfb2dxxx.cn-hangzhou.emr.aliyuncs.com@EMR.C-EE5CFB2Dxxx.COM 2 impala/core-1-1.c-ee5cfb2dxxx.cn-hangzhou.emr.aliyuncs.com@EMR.C-EE5CFB2Dxxx.COM 2 impala/core-1-1.c-ee5cfb2dxxx.cn-hangzhou.emr.aliyuncs.com@EMR.C-EE5CFB2Dxxx.COM 2 impala/core-1-1.c-ee5cfb2dxxx.cn-hangzhou.emr.aliyuncs.com@EMR.C-EE5CFB2Dxxx.COM 2 impala/core-1-1.c-ee5cfb2dxxx.cn-hangzhou.emr.aliyuncs.com@EMR.C-EE5CFB2Dxxx.COM 2 impala/core-1-1.c-ee5cfb2dxxx.cn-hangzhou.emr.aliyuncs.com@EMR.C-EE5CFB2Dxxx.COM 2 HTTP/core-1-1.c-ee5cfb2d63xxx.cn-hangzhou.emr.aliyuncs.com@EMR.C-EE5CFB2D63xxx.COM 2 HTTP/core-1-1.c-ee5cfb2d63xxx.cn-hangzhou.emr.aliyuncs.com@EMR.C-EE5CFB2D63xxx.COM 2 HTTP/core-1-1.c-ee5cfb2d63xxx.cn-hangzhou.emr.aliyuncs.com@EMR.C-EE5CFB2D63xxx.COM 2 HTTP/core-1-1.c-ee5cfb2d63xxx.cn-hangzhou.emr.aliyuncs.com@EMR.C-EE5CFB2D63xxx.COM 2 HTTP/core-1-1.c-ee5cfb2d63xxx.cn-hangzhou.emr.aliyuncs.com@EMR.C-EE5CFB2D63xxx.COM 2 HTTP/core-1-1.c-ee5cfb2d63xxx.cn-hangzhou.emr.aliyuncs.com@EMR.C-EE5CFB2D63xxx.COM -
Jalankan perintah berikut untuk menginisialisasi kredensial.
kinit -k -t $IMPALA_CONF_DIR/impala.keytab <principal>CatatanGanti
<principal>dengan principal yang telah Anda catat pada langkah sebelumnya.
-
-
Jalankan perintah berikut sebagai pengguna root untuk menghubungkan ke Impala.
beeline -u 'jdbc:hive2://<impalad_node_name>:28000/default;principal=<principal>;transportMode=http' -
Opsional: Untuk keluar dari CLI Beeline, jalankan perintah
!quit.
FAQ
Di mana log Impala disimpan?
Log Impala disimpan di direktori /var/log/taihao-apps/impala/ secara default. Anda dapat login ke node kluster dan menavigasi ke direktori tersebut untuk melihat log.
Log Impala disimpan pada node tempat proses Impalad berjalan (biasanya node core). Jika Anda tidak menemukan log pada node tertentu, pastikan bahwa proses Impalad dideploy pada node tersebut.
Bagaimana cara mengkueri pengguna akses historis untuk Impala?
Jika Apache Ranger tidak diaktifkan untuk kluster, Impala menggunakan izin baca dan tulis file Hadoop Distributed File System (HDFS) untuk kontrol akses.
Untuk mengekstrak akun koneksi historis dari log audit, jalankan perintah berikut pada node tempat proses Impalad berjalan:
grep "Successfully authenticated client user" /var/log/taihao-apps/impala/impalad.INFO* | awk -F'"' '{print $2}' | sort | uniq -c | sort -nr
Perintah ini mencari catatan autentikasi sukses dalam log audit Impala, mengekstrak nama pengguna, dan menampilkannya dalam urutan menurun berdasarkan jumlah koneksi.
Bagaimana cara membuat akun read-only untuk Impala?
Membuat akun Impala read-only memerlukan Apache Ranger untuk kontrol izin. Jika Ranger belum dideploy di kluster Anda, Anda harus menambahkan layanan Ranger terlebih dahulu sebelum dapat mengonfigurasi kontrol akses detail halus seperti izin read-only.
Apakah Impala pada EMR 4.9.0 mendukung otorisasi Ranger?
Tidak. Impala pada EMR 4.9.0 tidak mendukung otorisasi Ranger. Untuk menggunakan Ranger dalam pengelolaan izin Impala, kami menyarankan Anda membuat kluster yang menjalankan versi EMR yang lebih baru dan migrasikan data Anda ke kluster baru tersebut.