本文为您介绍在E-MapReduce集群提交Hive SQL的三种方式。
前提条件
已创建集群,详情请参见创建集群。
注意事项
方式一:通过Hive客户端连接Hive
- 普通集群,提交方式如下所示。
hive
- 当集群有高安全选项时,提交方式如下所示。
- 执行如下命令进行认证。
kinit -kt /etc/ecm/hive-conf/hive.keytab hive/<主节点的节点名称>.cluster-xxx@EMR.xxx.COM
您也可以通过用户管理功能创建用户,在连接Beeline前使用kinit 用户名
并输入密码,即可通过新建用户使用Beeline客户端。创建用户详情请参见管理用户。- 执行如下命令进行认证。
kinit 用户名
- 根据提示输入用户的密码。
- 执行如下命令进行认证。
- 连接Hive。
hive
- 执行如下命令进行认证。
方式二:通过Beeline客户端连接HiveServer2
- 普通集群,提交方式如下所示。
beeline -u jdbc:hive2://<主节点的节点名称>:10000
根据您的集群类型,对应命令如下:- DataLake集群
beeline -u jdbc:hive2://master-1-1:10000
- Hadoop集群
beeline -u jdbc:hive2://emr-header-1:10000
- DataLake集群
- 当集群有高可用选项时,提交方式如下所示。
根据您集群的类型,对应命令如下:
- DataLake集群
beeline -u 'jdbc:hive2://master-1-1:2181,master-1-2:2181,master-1-3:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2'
- Hadoop集群
beeline -u 'jdbc:hive2://emr-header-1:2181,emr-header-2:2181,emr-header-3:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2'
- DataLake集群
- 当集群有高安全选项时,通过以下步骤提交。
- 执行如下命令进行认证。
kinit -kt /etc/ecm/hive-conf/hive.keytab hive/<主节点的节点名称>.cluster-xxx@EMR.xxx.COM
您也可以通过用户管理功能创建用户,在连接Beeline前使用kinit 用户名
并输入密码,即可通过新建用户使用Beeline客户端。创建用户详情请参见管理用户。- 执行如下命令进行认证。
kinit 用户名
- 根据提示输入用户的密码。
- 执行如下命令进行认证。
- 连接Beeline。
beeline -u "jdbc:hive2://<主节点的节点名称>:10000/;principal=hive/<主节点的节点名称>.cluster-xxx@EMR.xxx.COM"
说明jdbc
链接串需要用双引号括起来。
- 执行如下命令进行认证。
方式三:通过Java连接HiveServer2
重要 在执行本操作前,确保您已安装Java环境和Java编程工具,并且已配置环境变量。