0


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 输入用户名(如:

[email protected]

),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/[email protected] 
(具体信息可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在这里插入图片描述
标签: hive 数据库 hadoop

本文转载自: https://blog.csdn.net/weixin_45375866/article/details/129267114
版权归原作者 闲小憨 所有, 如有侵权,请联系我们删除。

“Dbeaver连接Hive数据库操作指导”的评论:

还没有评论