专栏首页Hadoop实操如何使用Beeline连接Impala

如何使用Beeline连接Impala

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

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驱动包

下载地址:https://downloads.cloudera.com/connectors/impala_jdbc_2.5.41.1061.zip

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

[root@ip-172-31-6-148 impaladriver]# pwd
/root/impaladriver
[root@ip-172-31-6-148 impaladriver]# ll
total 13576
-r--r--r-- 1 root root   46725 Jun  2 12:46 commons-codec-1.3.jar
-r--r--r-- 1 root root   60686 Jun  2 12:46 commons-logging-1.1.1.jar
-r--r--r-- 1 root root 7670596 Jun  2 12:50 hive_metastore.jar
-r--r--r-- 1 root root  596600 Jun  2 12:50 hive_service.jar
-r--r--r-- 1 root root  352585 Jun  2 12:46 httpclient-4.1.3.jar
-r--r--r-- 1 root root  181201 Jun  2 12:46 httpcore-4.1.3.jar
-rw-rw-rw- 1 root root 1581890 Jun  2 12:52 ImpalaJDBC41.jar
-r--r--r-- 1 root root  275186 Jun  2 12:46 libfb303-0.9.0.jar
-r--r--r-- 1 root root  347531 Jun  2 12:46 libthrift-0.9.0.jar
-r--r--r-- 1 root root  367444 Jun  2 12:46 log4j-1.2.14.jar
-r--r--r-- 1 root root  294796 Jun  2 12:50 ql.jar
-r--r--r-- 1 root root 1307923 Jun  2 12:50 TCLIServiceClient.jar
-r--r--r-- 1 root root  792964 Jun  2 12:46 zookeeper-3.4.6.jar
[root@ip-172-31-6-148 impaladriver]# 

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

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

[root@ip-172-31-6-148 auxlib]# ll
total 2828
lrwxrwxrwx 1 root root      48 Oct 16 12:33 hive-exec-1.1.0-cdh5.13.0-core.jar -> ../../../jars/hive-exec-1.1.0-cdh5.13.0-core.jar
lrwxrwxrwx 1 root root      34 Oct 16 12:33 hive-exec-core.jar -> hive-exec-1.1.0-cdh5.13.0-core.jar
-rw-r--r-- 1 root root 1581890 Oct 25 03:14 ImpalaJDBC41.jar
-r--r--r-- 1 root root 1307923 Oct 25 03:14 TCLIServiceClient.jar
[root@ip-172-31-6-148 auxlib]# pwd
/opt/cloudera/parcels/CDH/lib/hive/auxlib
[root@ip-172-31-6-148 auxlib]# 

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

3.Beeline命令行测试


1.非Kerberos环境下测试

[root@ip-172-31-6-148 auxlib]# beeline -d "com.cloudera.impala.jdbc41.Driver" -u "jdbc:impala://ip-172-31-5-190.fayson.com:21050"
-d com.cloudera.impala.jdbc41.Driver -u jdbc:impala://ip-172-31-5-190.fayson.com:21050
Connecting to jdbc:impala://ip-172-31-5-190.fayson.com:21050
Connected to: Impala (version 2.10.0-cdh5.13.0)
Driver: ImpalaJDBC (version 02.05.38.1058)
Error: [Simba][JDBC](11975) Unsupported transaction isolation level: 4. (state=HY000,code=11975)
Beeline version 1.1.0-cdh5.13.0 by Apache Hive
0: jdbc:impala://ip-172-31-5-190.fayson.com:2> show databases;
+-------------------+-----------------------------------------------+--+
|       name        |                    comment                    |
+-------------------+-----------------------------------------------+--+
| _impala_builtins  | System database for Impala builtin functions  |
| default           | Default Hive database                         |
+-------------------+-----------------------------------------------+--+
2 rows selected (0.22 seconds)
0: jdbc:impala://ip-172-31-5-190.fayson.com:2> 

2.Kerberos环境下测试

初始化Kerberos账号

[ec2-user@ip-172-31-22-86 ~]$ kinit fayson
Password for fayson@CLOUDERA.COM: 
[ec2-user@ip-172-31-22-86 ~]$ klist
Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: fayson@CLOUDERA.COM

Valid starting       Expires              Service principal
10/25/2017 09:33:26  10/26/2017 09:33:26  krbtgt/CLOUDERA.COM@CLOUDERA.COM
        renew until 11/01/2017 09:33:26
[ec2-user@ip-172-31-22-86 ~]$
[root@ip-172-31-22-86 auxlib]# 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> show databases;
+-------------------+-----------------------------------------------+--+
|       name        |                    comment                    |
+-------------------+-----------------------------------------------+--+
| _impala_builtins  | System database for Impala builtin functions  |
| default           | Default Hive database                         |
| tpcds_parquet     |                                               |
| tpcds_text        |                                               |
+-------------------+-----------------------------------------------+--+
4 rows selected (0.171 seconds)
0: jdbc:impala://ip-172-31-26-80.ap-southeast> 

参数说明:

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

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

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

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干货,欢迎转发和分享。

原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操

本文分享自微信公众号 - Hadoop实操(gh_c4c535955d0f),作者:Fayson

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-10-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何在CDH集群安装Anaconda&搭建Python私有源

    Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本p...

    Fayson
  • 安装CDSW数据磁盘初始化异常问题分析

    本文主要讲述基于Kerberos环境下的CDH5.13.1版本安装CDSW1.3.0数据磁盘初始化异常问题分析及解决办法。

    Fayson
  • 0733-7.0.3-如何在Redhat7.6中安装CDP DC7.0.3

    CDP DC7.0.3是Cloudera与Hortonworks合并后,第一个融合CDH和HDP所有组件的on-premise版本,CDP Data Cente...

    Fayson
  • 如何在CDH集群安装Anaconda&搭建Python私有源

    Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本p...

    Fayson
  • Centos7中find命令的用法,以及find+exec,find+xargs

    find . | xargs grep -ri ‘content’ //find . | xargs grep -ril ‘content’ 只显示文件名称 ...

    拓荒者
  • 二叉树的最近公共祖先 Lowest Common Ancestor of a Binary Tree

    Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in...

    爱写bug
  • Golang Leetcode 450. Delete Node in a BST.go

    版权声明:原创勿转 https://blog.csdn.net/anakinsun/article/details/89175007

    anakinsun
  • 二叉树:删除节点

    https://leetcode-cn.com/problems/delete-node-in-a-bst/

    灰子学技术
  • 337. 打家劫舍 III Krains 2020-08-05 10:18:45 动态规划

    Krains
  • 剑指Offer - 面试题54. 二叉搜索树的第k大节点(二叉树循环遍历)

    来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/er-cha-sou-suo-shu-de-di-kd...

    Michael阿明

扫码关注云+社区

领取腾讯云代金券