Dbvisualizer连接大数据带Kerberos的hive

工具

MIT Kerberos : https://web.mit.edu/kerberos/kfw-4.1/kfw-4.1.html
DBVisualizer :https://www.dbvis.com/download/10.0 根据自己需要选择是否需要带jdk的

安装软件

软件安装默认下一步,没有什么需要注意的

本地环境变量配置

  • krb5.ini : 可以从集群中拷贝一个,放到c:\windows下面,也在mit里面放一个,目录是:C:\ProgramData\MIT\Kerberos5
  • 环境变量
KRB5_CONFIG = C:\ProgramData\MIT\Kerberos5\krb5.ini
KRB5CCNAME= C:\temp\krb5cache

如下图
在这里插入图片描述

  • Kerberos认证,提前准备一个keytab文件,然后使用mit的工具来进行认证,在mit的目录下认证:C:\Program Files\MIT\Kerberos\bin
    在这里插入图片描述
    认证之后

在这里插入图片描述

DBvisualizer 使用

这里需要使用到hive的驱动,但是Apache原生的跟这个Dbvisualizer的有点冲突,需要修改一下代码,可以使用我这里的,地址:https://pan.baidu.com/s/1b4enjajGXjs_AGE7kJYiGA 密码 zxw6,也可以使用我的代码,自己编译:https://github.com/changkunw/hive-jdbc
后面我会讲为什么用原生的有问题
只要驱动准备好了,那后面就简单了
注册驱动

在这里插入图片描述

在这里插入图片描述

然后还要填一下jvm参数

在这里插入图片描述

在这里插入图片描述

内容如下:

-Dsun.security.krb5.debug=true
-Djavax.security.auth.useSubjectCredsOnly=false
-Djava.security.krb5.conf=C:\Windows\krb5.ini

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

我这里是hive2的驱动,这个地方的principal必须是要包含主机名的,而且这个地方还要注意的是,这个地方连接hive的jdbc是由url和database这两个字符串拼接出来的,所以principal这些参数可以填到databases这里

在这里插入图片描述
自此已经连接上了。

为什么需要修改jdbc驱动

其实也不算修改jdbc驱动,只要是修改hadoop-common,不修改,会报下面的错误

java.lang.RuntimeException: Illegal Hadoop Version: Unknown (expected A.B.* format)
   at org.apache.hadoop.hive.shims.ShimLoader.getMajorVersion(ShimLoader.java:168)
   at org.apache.hadoop.hive.shims.ShimLoader.loadShims(ShimLoader.java:143)
   at org.apache.hadoop.hive.shims.ShimLoader.getHadoopThriftAuthBridge(ShimLoader.java:129)
   at org.apache.hive.service.auth.KerberosSaslHelper.getKerberosTransport(KerberosSaslHelper.java:54)
   at org.apache.hive.jdbc.HiveConnection.createBinaryTransport(HiveConnection.java:414)
   at org.apache.hive.jdbc.HiveConnection.openTransport(HiveConnection.java:191)
   at org.apache.hive.jdbc.HiveConnection.<init>(HiveConnection.java:155)
   at org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:105)

原因如下:

在这里插入图片描述
在这里插入图片描述
所以是dbVisualizer里面用到的类加载器和这个hadoop有点冲突,具体可以搜索一下Thread.currentThread().getContextClassLoader()和this.getClass().getClassLoader()这样获取类加载器在不同场景下是不一样的,然后我的代码里面是直接覆盖了org.apache.hadoop.util.VersionInfo这个类,其实修改方式有很多,也可以直接覆盖org.apache.hadoop.hive.shims.ShimLoader,直接返回一个正常版本就是

要在DbVisualizer连接Hive,你需要按照以下步骤进行操作: 1. 首先,你需要下载Hive的安装包。你可以在Apache Hive的官方网站上找到下载链接\[1\]。选择适合你系统的版本并下载。 2. 下载完成后,解压缩安装包。你可以将解压后的文件夹放在任意位置。 3. 接下来,在DbVisualizer的安装目录中找到jdbc文件夹。如果没有该文件夹,你可以自行创建一个。 4. 在jdbc文件夹下创建一个名为hive的文件夹。 5. 将解压后的Hive安装包中的所有文件复制到刚刚创建的hive文件夹中。 6. 现在,打开DbVisualizer并点击菜单栏中的“工具”选项。 7. 在下拉菜单中选择“驱动管理器”。 8. 在驱动管理器窗口中,点击“创建新驱动器”按钮。 9. 在弹出的对话框中,填写以下信息: - 名称:Hive - 类:org.apache.hive.jdbc.HiveDriver - URL:jdbc:hive2://localhost:10000/default 10. 点击“测试类”按钮,确保连接配置正确无误。 11. 点击“确定”保存驱动器配置。 12. 现在,你可以在DbVisualizer连接窗口中创建一个新的连接。选择刚刚创建的Hive驱动器,并填写相应的连接信息,如主机名、端口号、用户名和密码等。 13. 点击“连接”按钮,如果一切配置正确,你将成功连接Hive数据库。 请注意,以上步骤中的URL和端口号可能需要根据你的Hive配置进行相应的修改。另外,确保你已经正确安装了Java和Hadoop,并且Hadoop服务正在运行\[2\]。 #### 引用[.reference_title] - *1* [DbVisualizer连接Hive(Spark)](https://blog.csdn.net/u012455675/article/details/122132237)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Dbvisualizer工具连接hive数据库操作步骤](https://blog.csdn.net/Java_xiaoxinxin/article/details/99318103)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值