本文为您介绍如何在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命令行。