DBeaver连接含有Kerberos认证的集群的Hive表

前言

   以DBeaver为例,连接含有Kerberos认证的集群的Hive表


1. 配置Kerberos客户端环境

1.1 下载MIT Kerberos for Windows

官网下载
在这里插入图片描述

1.2 拷贝krb5.conf

  将KDC Server服务器上/etc/krb5.conf文件中的部分内容,拷贝到krb5.ini(ps.博主250没有去掉linux文件路径)

# Configuration snippets may be placed in this directory as well
#includedir /etc/krb5.conf.d/

[logging]
 #default = FILE:/var/log/krb5libs.log
 #kdc = FILE:/var/log/krb5kdc.log
 #admin_server = FILE:/var/log/kadmind.log

[libdefaults]
 dns_lookup_realm = false
 ticket_lifetime = 24h
 # ticket_lifetime = 2m
 renew_lifetime = 7d
 forwardable = true
 rdns = false
 #pkinit_anchors = FILE:/etc/pki/tls/certs/ca-bundle.crt
 default_realm = BIGDATA.HEX.COM
 #default_ccache_name = KEYRING:persistent:%{uid}

[realms]
 BIGDATA.HEX.COM = {
  kdc = 自己的服务ip
  admin_server = 自己的服务ip
 }

[domain_realm]
 .example.com = BIGDATA.HEX.COM
 example.com = BIGDATA.HEX.COM

1.3 配置环境变量

变量名:KRB5_CONFIG,变量值:D:\software\kerberos\etc\krb5.ini
变量名:KRB5CCNAME,变量值:D:\software\kerberos\temp\krb5cache
KRB5CCNAME的路径默认是不存在的,因此需要创建temp文件夹,krb5cache文件则不需要创建
配置完环境变量后,重启计算机使其生效

此时执行kinit认证报错

在这里插入图片描述
原来jdk自带一个kinit命令,在java的环境变量前加入Kerberos环境
在这里插入图片描述


1.4 认证

在可视化界面认证测试一下
在这里插入图片描述
注意:
用DBeaver连接Hive时,首先用kinit 命令进行缓存票据
在这里插入图片描述
在这里插入图片描述

2. DBeaver连接hive

2.1 配置dbeaver.ini

  在DBeaver安装路径下找到dbeaver.ini,添加

-Djavax.security.auth.useSubjectCredsOnly=false
-Djava.security.krb5.conf=D:\software\kerberos\etc\krb5.conf
-Dsun.security.krb5.debug=true

在这里插入图片描述

(ps.2个文件完全一样,只是本人强迫症)

2.2 连接hive

在这里插入图片描述
jdbc url:

jdbc:hive2://服务ip:10000/;principal=hive/lab-cdh-ylxx1@BIGDATA.HEX.COM

在这里插入图片描述

<think>嗯,用户想用DBeaver连接开启了Kerberos认证的华为MRS集群,并运行Spark SQL。首先,我需要回忆一下DBeaver连接Hive或者Spark的常规步骤,但这里还涉及到Kerberos认证,可能会比较复杂。 首先,用户可能已经安装了DBeaver,但不确定版本是否支持Kerberos。可能需要确认DBeaver的版本是否较新,或者是否需要安装某些插件,比如JDBC驱动或者Hive驱动。华为MRS通常使用Hive JDBC驱动,所以用户可能需要下载对应的驱动包,比如MRS提供的Hive JDBC驱动。 接下来是Kerberos认证的配置。用户需要获取几个关键文件:krb5.conf、keytab文件和principal名称。这些通常由集群管理员提供。需要确保krb5.conf文件正确配置了KDC服务器和域的信息。同时,用户的系统环境可能需要安装Kerberos客户端,比如kinit工具,用于生成票据。 然后是DBeaver的具体配置步骤。在创建新连接时,选择Apache Hive作为数据库类型,填写主机、端口(通常是10000)、数据库名。在驱动设置中,可能需要替换默认的Hive JDBC驱动为MRS提供的版本,并添加相关的依赖jar包,比如Hive JDBC、Hadoop common、Hadoop HDFS等。华为的文档可能有特定的jar包版本要求,需要用户确认。 在连接属性中,需要设置一些参数,比如开启Kerberos认证,设置principal、keytab路径,以及Kerberos配置文件路径。例如,添加hive.server2.authentication为kerberos,以及java相关的参数如java.security.krb5.conf和javax.security.auth.useSubjectCredsOnly。另外,可能需要设置hadoop.security.authentication为kerberos。 配置完成后,测试连接可能会有问题。常见的问题包括驱动版本不兼容、Kerberos票据未生成、配置文件路径错误等。需要提醒用户先使用kinit命令获取票据,并检查keytab文件的权限是否正确。此外,网络连通性、端口是否正确开放,以及MRS集群是否允许外部连接也是需要检查的点。 成功连接后,运行Spark SQL可能需要用户了解Hive和Spark的集成情况。MRS集群可能已经配置了Hive on Spark,所以用户可以直接在DBeaver中执行SQL语句,就像操作Hive一样。但需要注意,某些Spark特定的功能可能需要不同的配置或语法。 最后,总结步骤时,要确保逻辑清晰,分步说明,并包含注意事项和常见问题解决方法。用户可能需要参考华为的官方文档获取具体的驱动和配置参数,所以提供相关链接或建议联系管理员会有帮助。同时,提醒用户检查防火墙设置和依赖版本,避免兼容性问题。</think>以下是分步配置指南: ### 一、前置准备 1. 获取Kerberos认证材料: - `krb5.conf`文件(包含KDC服务器地址) - `user.keytab`密钥文件 - principal名称(格式:`username@REALM`) 2. 环境要求: ```shell # 安装Kerberos客户端(Linux示例) sudo yum install krb5-workstation ``` ### 二、DBeaver配置步骤 1. **新建连接** - 选择数据库类型:`Apache Hive` - 填写连接信息: ``` 主机:MRS集群HiveServer2 IP 端口:10000(默认) 数据库:default ``` 2. **驱动管理** ```xml <!-- 修改驱动配置(需替换MRS提供的JDBC驱动) --> <jar-modification> <files> <file>MRS_HiveJDBC.jar</file> <file>hadoop-common-3.x.x.jar</file> </files> </jar-modification> ``` 3. **Kerberos参数配置** 在`驱动属性`中添加: ``` hive.server2.authentication = kerberos hadoop.security.authentication = kerberos principal = your_principal@YOUR.REALM ``` 4. **JVM参数设置** ```properties -Djava.security.krb5.conf=/path/to/krb5.conf -Djavax.security.auth.useSubjectCredsOnly=false ``` ### 三、验证连接(需先获取Kerberos票据) ```shell kinit -kt /path/to/user.keytab your_principal@REALM ``` 在DBeaver中点击"测试连接" ### 四、执行Spark SQL 1. 新建SQL编辑器 2. 执行查询(示例): ```sql CREATE TABLE test (id INT) USING parquet; INSERT INTO test VALUES (1);
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

但行益事莫问前程

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

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

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

打赏作者

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

抵扣说明:

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

余额充值