本文為您介紹如何在E-MapReduce(簡稱EMR)上使用命令列工具操作Impala。
前提條件
已建立叢集,並且選擇了Impala服務,詳情請參見建立叢集。
impala-shell串連方式
在串連Impala前,您可以執行impala-shell --help命令擷取協助。
普通叢集
通過SSH方式串連叢集的Master節點,詳情請參見登入叢集。
執行以下命令,串連Impala。
impala-shell -i <impalad節點名稱>本文中的
<impalad節點名稱>,您可以在EMR控制台Impala服務的狀態頁簽,Impalad拓撲列表中的節點名稱列查看。例如,下圖查看到的節點名稱是core-1-1和core-1-2節點,串連Impala時選擇其中任意一個節點名稱即可。
可選: 執行命令
quit;,您可以退出Impala命令列。
高安全叢集
通過SSH方式串連叢集的Master節點,詳情請參見登入叢集。
初始化憑證。
執行以下命令,查看是否有Kerberos憑證。
klist如果輸出資訊中包含內容
klist: No credentials cache found,則需要執行下一步初始化一個訪問憑證。如果輸出資訊中有憑證資訊,則可跳過初始化憑證步驟,直接使用impala-shell命令串連Impala。執行以下命令,查看Principal資訊。
klist -k $IMPALA_CONF_DIR/impala.keytab記錄返回資訊中的第一行資訊,下步驟中會使用。例如,本樣本擷取到的資訊為
impala/master-1-1.c-45dcb9bbe234****.cn-hangzhou.emr.aliyuncs.com@EMR.C-45DCB9BBE23****.COM。
執行以下命令,初始化憑證。
kinit -k -t $IMPALA_CONF_DIR/impala.keytab <Principal資訊>說明<Principal資訊>為前一步驟中記錄的返回資訊。
執行以下命令,串連Impala。
impala-shell -k -i <impalad節點名稱>可選: 執行命令
quit;,您可以退出Impala命令列。
Beeline JDBC串連方式
普通叢集
通過SSH方式串連叢集的Master節點,詳情請參見登入叢集。
執行以下命令,串連Impala。
beeline -u 'jdbc:hive2://<impalad節點名稱>:28000/default;transportMode=http;uauth=noSasl'可選: 執行命令
quit;,您可以退出Impala命令列。
高安全叢集
通過SSH方式串連叢集的Core節點,詳情請參見登入叢集。
以root使用者身份初始化憑證。
執行以下命令,查看是否有kerberos憑證。
klist如果輸出資訊中包含內容
klist: No credentials cache found,則需要執行下一步初始化一個訪問憑證。如果輸出資訊中有憑證資訊,則可跳過初始化憑證步驟,直接使用impala-shell命令串連Impala。執行以下命令,查看Principal資訊。
klist -k $IMPALA_CONF_DIR/impala.keytab記錄返回資訊中的第一行資訊,下一步驟中會使用。例如,本樣本擷取到的資訊為
impala/core-1-1.c-ee5cfb2d6306****.cn-hangzhou.emr.aliyuncs.com@EMR.C-EE5CFB2D6306****.COM。
執行以下命令,初始化憑證。
kinit -k -t $IMPALA_CONF_DIR/impala.keytab <Principal資訊>說明<Principal資訊>為前一步驟中記錄的返回資訊。
以root使用者身份執行以下命令,串連Impala。
beeline -u 'jdbc:hive2://<impalad節點名稱>:28000/default;principal=<Principal資訊>;transportMode=http'可選:執行命令
!quit,您可以退出Impala命令列。