hadoop 如何连beeline_如何使用Beeline连接Impala

本文介绍了如何使用Beeline连接到Impala,包括非Kerberos和Kerberos环境下的配置。首先,需要将Impala的JDBC驱动部署到Hive的auxlib目录。在非Kerberos环境中,直接使用Beeline命令连接;而在Kerberos环境中,需要设置额外的认证参数。文章提供了详细的命令行示例,并强调了Kerberos认证的必要性。
摘要由CSDN通过智能技术生成

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

1.文档编写目的

Beeline是HiveServer2提供的一个新的命令行工具,基于SQLLine CLI的JDBC客户端。Beeline有两种模式:嵌入和远程模式。嵌入模式类似于运行Hive CLI,而远程模式可以通过thrift连接。支持连接Hive、MySQL、Oracle、Impala等。本篇文章主要讲述如何使用Beeline连接Impala。

内容概述

1.Impala JDBC驱动部署

2.Beeline命令行测试

3.总结

测试环境

1.CM和CDH版本为5.11.2和5.13.0

2.Kerberos环境和非Kerberos环境

2.Impala JDBC驱动部署

1.下载Impala JDBC驱动包

将驱动包解压至/root/impaladriver目录

[root@ip-172-31-6-148impaladriver]# pwd/root/impaladriver

[root@ip-172-31-6-148impaladriver]# lltotal13576-r--r--r--1root root46725Jun212:46 commons-codec-1.3.jar-r--r--r--1root root60686Jun212:46 commons-logging-1.1.1.jar-r--r--r--1root root7670596Jun212:50 hive_metastore.jar-r--r--r--1root root596600Jun212:50 hive_service.jar-r--r--r--1root root352585Jun212:46 httpclient-4.1.3.jar-r--r--r--1root root181201Jun212:46 httpcore-4.1.3.jar-rw-rw-rw-1root root1581890Jun212:52 ImpalaJDBC41.jar-r--r--r--1root root275186Jun212:46 libfb303-0.9.0.jar-r--r--r--1root root347531Jun212:46 libthrift-0.9.0.jar-r--r--r--1root root367444Jun212:46 log4j-1.2.14.jar-r--r--r--1root root294796Jun212:50 ql.jar-r--r--r--1root root1307923Jun212:50 TCLIServiceClient.jar-r--r--r--1root root792964Jun212:46 zookeeper-3.4.6.jar[root@ip-172-31-6-148impaladriver]#

2.将压缩包内的ImpalaJDBC41.jar和TCLIServiceClient.jar两个jar包拷贝至

/opt/cloudera/parcels/CDH/lib/hive/auxlib目录下

[root@ip-172-31-6-148auxlib]# lltotal2828lrwxrwxrwx1root root48Oct1612:33 hive-exec-1.1.0-cdh5.13.0-core.jar -> ../../../jars/hive-exec-1.1.0-cdh5.13.0-core.jarlrwxrwxrwx1root root34Oct1612:33 hive-exec-core.jar -> hive-exec-1.1.0-cdh5.13.0-core.jar-rw-r--r--1root root1581890Oct2503:14 ImpalaJDBC41.jar-r--r--r--1root root1307923Oct2503:14 TCLIServiceClient.jar[root@ip-172-31-6-148auxlib]# pwd/opt/cloudera/parcels/CDH/lib/hive/auxlib

[root@ip-172-31-6-148auxlib]#

在集群所有的Hive Gateway节点上部署Impala的驱动包。

3.Beeline命令行测试

1.非Kerberos环境下测试

[root@ip-172-31-6-148auxlib]# beeline -d "com.cloudera.impala.jdbc41.Driver" -u "jdbc:impala://ip-172-31-5-190.fayson.com:21050"-dcom.cloudera.impala.jdbc41.Driver -u jdbc:impala://ip-172-31-5-190.fayson.com:21050Connectingto jdbc:impala://ip-172-31-5-190.fayson.com:21050Connectedto: Impala(version2.10.0-cdh5.13.0)Driver:ImpalaJDBC(version02.05.38.1058)Error:[Simba][JDBC](11975)Unsupportedtransaction isolation level: 4.(state=HY000,code=11975)Beelineversion1.1.0-cdh5.13.0 by Apache Hive0:jdbc:impala://ip-172-31-5-190.fayson.com:2> showdatabases;+-------------------+-----------------------------------------------+--+|name|comment|+-------------------+-----------------------------------------------+--+|_impala_builtins|SystemdatabaseforImpala builtin functions  |

|default|DefaultHive database                         |+-------------------+-----------------------------------------------+--+

2rows selected(0.22seconds)0: jdbc:impala://ip-172-31-5-190.fayson.com:2>

05481bb96ba2cb7ddce2d610473fcbbe.png

2.Kerberos环境下测试

初始化Kerberos账号

[ec2-user@ip-172-31-22-86~]$kinit faysonPasswordforfayson@CLOUDERA.COM:[ec2-user@ip-172-31-22-86~]$klistTicketcache: FILE:/tmp/krb5cc_1000Defaultprincipal: fayson@CLOUDERA.COMValidstarting       Expires              Service principal10/25/201709:33:26  10/26/2017 09:33:26  krbtgt/CLOUDERA.COM@CLOUDERA.COMrenewuntil11/01/2017 09:33:26[ec2-user@ip-172-31-22-86~]$

37457b1e62a345265e7c8f83b53e5a04.png

[root@ip-172-31-22-86auxlib]# beeline -d "com.cloudera.impala.jdbc41.Driver" -u "jdbc:impala://ip-172-31-26-80.ap-southeast-1.compute.internal:21050/;AuthMech=1;KrbServiceName=impala;KrbRealm=CLOUDERA.COM;KrbHostFQDN=ip-172-31-26-80.ap-southeast-1.compute.internal;"…0:jdbc:impala://ip-172-31-26-80.ap-southeast> showdatabases;+-------------------+-----------------------------------------------+--+|name|comment|+-------------------+-----------------------------------------------+--+|_impala_builtins|SystemdatabaseforImpala builtin functions  |

|default|DefaultHive database                         |

|tpcds_parquet|                                               |

|tpcds_text|                                               |+-------------------+-----------------------------------------------+--+

4rows selected(0.171seconds)0: jdbc:impala://ip-172-31-26-80.ap-southeast>

参数说明:

AuthMech:设置认证类型,1为Kerberos认证。

KrbServiceName:Impala服务器的Kerberos服务主体名称。

KrbHostFQDN:连接Impala所在服务的HostFQDN。

45dc7db7891aaec8a3840fda801353a9.png

4.总结

使用Beeline连接Impala时需要将Impala的驱动包添加到Hive的lib目录下,否则是无法使用jdbc:impala://hostname:21050连接Impala。

在非Kerberos环境下使用Beeline连接Impala时,指定登录用户无效,无法通过select current_user()获取当前登录用户。

在Kerberos环境下使用Beeline连接Impala时,必须要在jdbc url连接增加AuthMech、KrbServiceName、KrbHostFQDN参数。

具体参考官方文档:

http://www.cloudera.com/documentation/other/connectors/impala-jdbc/latest/Cloudera-JDBC-Driver-for-Impala-Install-Guide.pdf

为天地立心,为生民立命,为往圣继绝学,为万世开太平。

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

您可能还想看

安装

安全

数据科学

其他

推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值