前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何使用Java访问集成OpenLDAP并启用Sentry的Impala和Hive

如何使用Java访问集成OpenLDAP并启用Sentry的Impala和Hive

作者头像
企鹅号小编
发布2018-02-06 15:03:53
1K0
发布2018-02-06 15:03:53
举报

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

Fayson的github:https://github.com/fayson/cdhproject

提示:代码块部分可以左右滑动查看噢

1.文档编写目的

内容概述

1.环境准备

2.示例代码编写及说明

3.代码测试

测试环境

1.CM和CDH版本为5.13.1

2.CentOS6.5

3.Impala JDBC驱动版本2.5.41.1061

前置条件

1.集群未启用Kerberos

2.Impala已集成OpenLDAP

3.集群已启用Sentry

2.环境准备

1.下载Impala JDBC驱动包

(可左右滑动)

2.创建Java工程jdbcdemo

创建工程时注意加入Hadoop的依赖包

(可左右滑动)

将下载的Impala驱动包添加到jdbcdemo工程lib目录下,并加载到环境变量

3.示例访问代码

1.Impala示例代码

(可左右滑动)

由于集群已集成了OpenLDAP并启用了Sentry,所以在访问Impala时需要在JDBC URL连接串中指定AuthMech=3;UID=hive;PWD=123456参数。

AuthMech:认证类型,需要认证用户名和密码。

UID:在指定AuthMech为3时为必填字段

PWD:在指定AuthMech为3时为必填字段

2.Hive示例代码

(可左右滑动)

在访问集成OpenLDAP的HiveServer2时需要在获取Connection连接时需要输入LDAP的用户名和密码DriverManager.getConnection(URL,username,password)。

4.代码测试

1.Impala测试

在Intellij下直接运行代码,执行结果如下

指定一个权限低的用户faysontest进行查询

如果指定一个错误的用户或者密码

2.Hive测试

使用hive用户测试,hive用户拥有Hive库的所有权限,所以可以看到Hive下面所有的库。

使用faysontest用户测试,faysontest用户只拥有Hive库下的default库操作权限,所以我们可以看到只能获取到default库信息

输入错误的用户密码测试,是否能够正常访问

5.Beeline命令行测试

关于Beeline命令行访问Impala,Fayson在前面的文章也介绍过《如何使用Beeline连接Impala》,这里就不再重复说明。

1.Beeline访问Hive

2.Beeline访问Impala

(可左右滑动)

这里需要注意,在使用Beeline连接Impala的时候,除了JDBC URL中增加AuthMech=3;UID=faysontest;PWD=123456参数还需要在Beeline命令行增加–n faysontest –p 123456参数。

GitHub源码地址:

https://github.com/javaxsky/cdhproject/jdbcdemo

提示:代码块部分可以左右滑动查看噢

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

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

本文来自企鹅号 - Hadoop实操媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文来自企鹅号 - Hadoop实操媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
专用宿主机
专用宿主机(CVM Dedicated Host,CDH)提供用户独享的物理服务器资源,满足您资源独享、资源物理隔离、安全、合规需求。专用宿主机搭载了腾讯云虚拟化系统,购买之后,您可在其上灵活创建、管理多个自定义规格的云服务器实例,自主规划物理资源的使用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档