Dbeaver连接Hive数据库操作指导

背景:由于工作需要,当前分析研究的数据基于Hadoop的Hive数据库中,且Hadoop服务端无权限进行操作且使用安全模式,在研究了Dbeaver、Squirrel和Hue三种连接Hive的工具,在无法绕开useKey认证的情况下,只能使用DBeaver工具进行远程连接。
【Hadoop环境】:Hive版本:3.1.0 KrbClient版本:1.17
【JDK版本】:1.8.0_181

一、 配置 Windows 的 kerberos 认证

注:由于当前Hadoop服务算使用FusionInsight安全模式需要使用kerberos进行认证,如果使用 FusionInsight非安全模式进行对接不需要使用 kerberos认证。

  1. 前置条件:已完成 FusionInsight HD V100R002C70SPC200 的安装,包含 KrbServer 组件。
  2. 配置kerberos认证
    步骤 1 下载并安装 MIT Kerberos
    下载网址:http://web.mit.edu/kerberos/dist/
    版本与操作系统位数保持一致,本文版本 kfw-4.1-amd64.msi。
    安装路径:C:\Program Files\MIT\Kerberos(默认路径)
    步骤 2同步客户端机器的时间
    与 FusionInsight HD 集群的时间一致,时间差要小于 5 分钟。
    步骤 3 设置 Kerberos 的配置文件
    登录FusionInsight服务端页面,点击右上角“用户名”->“下载认证凭据”后保存至本地解压,获取krb5.confuser.keytab文件。
    C盘创建文件目录ecotesting/Fiber/conf文件夹目录(目录创建可自定义,但需记住文件的绝对路径,如C:/ ecotesting/Fiber/conf),将krb5.confuser.keytab文件负责到当前conf文件夹下。
    复制krb5.conf文件,修改文件后缀为.ini,保存文件为krb5.ini(注意,在windows中设置显示文件后缀,不然文件可能保存为krb5.ini.txt文件)。
    将krb5.ini文件复制到如下目录中:“C:\Program Files\MIT\Kerberos”、“C:\Windows”、“C:\ProgramData\MIT\Kerberos5”。其中“C:\ProgramData\MIT\Kerberos5”为系统隐藏文件夹,直接输入路径可进入。
    步骤 4 设置 Kerberos 票据的缓存文件和环境变量
    创建存放票据的目录,例如“C:\temp”。设置 Windows 的系统环境变量,变量名为“KRB5CCNAME”,变量值为“C:\temp\krb5cache”;变量名为“KRB5_CONFIG”,变量值为“C:/ ecotesting/Fiber/conf/krb5.ini”。配置完成后,重启机器。
    在这里插入图片描述

步骤 5 在 Windows 上进行认证
(1)使用客户端进行认证
打开 MIT Kerberos,单击“get Ticket”,在弹出的 MIT Kerberos: Get Ticket 窗口中,Pricipal 输入用户名(如:sxappopt@HADOOP.COM),Password 输入密码,单击“OK”。
在这里插入图片描述
在这里插入图片描述
(2)通过命令行进行认证
打开windows命令行窗口,进入到MIT安装目录(如: C:\Program Files\MIT\Kerberos\bin),使用keytab文件进行认证,并查看认证信息是否正确以及认证缓存文件是否生成。
认证命令:kinit –kt keytabPath principle(keytabPath为keytab文件所在路径,principle为认证用户名)
如:kinit –kt C:/ ecotesting/Fiber/conf/user.keytab gzdsj_ruixin
在这里插入图片描述

二、 安装Dbeaver客户端

  • 下载并安装 DBeaver
    由于本地jdk版本为1.8.0_181,考虑到版本兼容性,下载DBeaver版本为21.1.1版本。PS:勿安装最新版本22.3.4版
  • 在windows hosts文件中添加集群的ip和域名
    登录FusionInsight服务端页面,选择主页—集群—集群名,右击选择“下载客户端”,然后选择“仅下载配置文件”,下载至本地后解压,复制hosts至本地“C:\Windows\System32\drivers\etc”进行替换。
  • 创建Zookeeper认证文件
    C:\ecotesting\Fiber\conf目录下新建 jaas.conf 文件,配置认证的用户和密码。文件内容如下:
Client {
  com.sun.security.auth.module.Krb5LoginModule required
  useKeyTab=true
  keyTab="C:\\ecotesting\\Fiber\\conf\\user.keytab"
  principal="gzdsj_ruixin"
  useTicketCache=false
  storeKey=true
  debug=true;
};

注意: 其中keyTab参数以及principal参数为对应的认证用户名以及认证文件路径。
  • 修改DBeaver配置文件dbeaver.ini文件
    指定Dbeaver使用的JDK虚拟机,添加(注意,参数和值之间需要换行)
-vm
C:\Program Files\Java\jdk1.8.0_181\bin

添加认证配置信息:

-Djava.security.auth.login.config=C:\\ecotesting\\Fiber\\conf\\jaas.conf
-Dzookeeper.sasl.clientconfig=Client
-Dzookeeper.auth.type=kerberos
-Dzookeeper.server.principal=zookeeper/hadoop.hadoop.com
  • 重启DBeaver.
    修改dbeaver.ini后需要重启DBeaver才生效。
  • 获取org.apache.hive.jdbc.HiveDriver驱动依赖jar包
    在Linux中Hive客户端安装路径下获取HiveDriver驱动依赖jar包。进入/opt/client/Hive/Beeline/目录下,下载lib文件夹至DBeaver安装路径(默认为C:\Program Files\Dbeaver)下。

三、 使用自定义JDBC对接Hive

  • 进入DBeaver界面,菜单选择Database->DriverManager,在弹出的对话框中点击 New.
    在这里插入图片描述
  • 新建的连接名字为FI-hive-test,连接信息如下,完成后点击OK
    在这里插入图片描述
说明:
 - org.apache.hive.jdbc.HiveDriver
2.jdbc:hive2://172.16.4.121:24002,172.16.4.122:24002,172.16.4.123:24002/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2;sasl.qop=auth-conf;auth=KERBEROS;principal=hive/hadoop.hadoop.com@HADOOP.COM 
(具体信息可Linux中的Hive客户端通过beeline连接成功打印的日志中截取复制使用)
 - Hadoop
 - 点Add File在下载好的hive客户端lib中把所有jar包加进去
  • 菜单栏选择File->New->Database Connection.点击 Next.
    在这里插入图片描述
  • 选择FI-hive-test点击NEXT
    在这里插入图片描述
  • 点击Finish
    在这里插入图片描述
  • 右键选择FI-hive-test点击Edit Connection
    在这里插入图片描述
  • 点击Test connection
    在这里插入图片描述
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

闲小憨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值