kerberos-hive-dbeaver问题总结

一、kerberos安装windows客户端

1、官方下载地址

http://web.mit.edu/kerberos/dist/

2、环境变量配置

下载msi安装包,无需重启计算机,调整环境变量在jdk的前面,尽量靠前,因为jdk也带了kinit、klist等命令

C:\Program Files\MIT\Kerberos\bin

3、krb5.ini配置

文件路径:`C:\ProgramData\MIT\Kerberos5\krb5.ini`,客户忽略日志的配置

[libdefaults]dns_lookup_realm = falsedns_lookup_kdc = falseticket_lifetime = 24hrenew_lifetime = 7dforwardable = truerdns = falsepkinit_anchors = FILE:/etc/pki/tls/certs/ca-bundle.crtdefault_realm = EASTCOM.CN
# default_ccache_name = KEYRING:persistent:%{uid}[realms]EASTCOM.CN = {kdc = 192.168.83.128admin_server = 192.168.83.128}

4、kerberos认证

PS D:\Environment\jdk-11\jdk-11\11\bin> kdestroy
PS D:\Environment\jdk-11\jdk-11\11\bin> kinit.exe -k -t C:\ProgramData\MIT\Kerberos5\hive.keytab hive/bigdata32@HADOOP.COM
PS D:\Environment\jdk-11\jdk-11\11\bin> kinit hdfs
Password for hdfs@HADOOP.COM:
PS D:\Environment\jdk-11\jdk-11\11\bin> klist
Ticket cache: FILE:C:\temp\krb5.cache
Default principal: hdfs@HADOOP.COMValid starting     Expires            Service principal
04/28/24 09:37:20  04/29/24 09:37:20  krbtgt/HADOOP.COM@HADOOP.COM
PS D:\Environment\jdk-11\jdk-11\11\bin> kdestroy

5、浏览器配置firefox(用于yarn、hive等web访问)

about:config 修改配置

network.negotiate-auth.trusted-uris : bigdata29,bigdata30,bigdata31,bigdata32

network.auth.use-sspi   false

二、hive的dbeaver配置

1、驱动包文件测试这几个都满足kerberos的验证登录

HiveJDBC4.jar、inceptor-sdk-transwarp-6.0.0-SNAPSHOT.jar、hive-jdbc-uber-2.6.3.0-235.jar

下载链接

2、url模板

jdbc:hive2://{host}[:{port}][/{database}];AuthMech=1;KrbRealm=HADOOP.COM;KrbHostFQDN={host};KrbServiceName=hive;KrbAuthType=2;principal=hive/bigdata32@HADOOP.COM

精简模板

jdbc:hive2://{host}[:{port}][/{database}];principal={user}/_HOST@HADOOP.COM

三、连接出现的问题与解决方式

1、dbeaver指定jdk的命令,在dbeaver.ini中增加以下命令

-vm
D:\Environment\db_tools\DBeaverEE\jdk-17\bin

2、首先打开dbeaver的指定kerberos配置文件,开启调试命令,查看问题

-Djava.net.preferIPv4Stack=true
-Djavax.security.auth.useSubjectCredsOnly=false
-Djava.security.krb5.conf=C:\ProgramData\MIT\Kerberos5\krb5.ini
-Dsun.security.krb5.debug=true

3、遇到的问题

3.1、UDP配置问题

>>> KDCCommunication: kdc=bigdata29 UDP:88, timeout=30000,Attempt =1, #bytes=643
SocketTimeOutException with attempt: 1
>>> KDCCommunication: kdc=bigdata29 UDP:88, timeout=30000,Attempt =2, #bytes=643
SocketTimeOutException with attempt: 2
>>> KDCCommunication: kdc=bigdata29 UDP:88, timeout=30000,Attempt =3, #bytes=643
SocketTimeOutException with attempt: 3
>>> KrbKdcReq send: error trying bigdata29
java.net.SocketTimeoutException: Receive timed out

解决办法:krb5.ini配置文件中增加以下配置

udp_preference_limit = 1

3.2、时钟不同步问题

dbeaver如下提示

Could not open client transport with JDBC Uri: jdbc:hive2://bigdata32:10000/spark;AuthMech=1;KrbRealm=HADOOP.COM;KrbHostFQDN=bigdata32;KrbServiceName=hive;KrbAuthType=2;principal=hive/bigdata32@HADOOP.COM: GSS initiate failedGSS initiate failedGSS initiate failed

dbeaver日志文件显示如下信息

KrbException: Clock skew too great (37) - PROCESS_TGSat sun.security.krb5.KrbTgsRep.<init>(KrbTgsRep.java:73)at sun.security.krb5.KrbTgsReq.getReply(KrbTgsReq.java:251)

解决办法:确定开发设备与服务器的设备时钟是否同步,同步与服务器的时钟

3.3、hive查询spark创建的hive表

报错如下

SQL 错误: java.io.IOException: java.lang.ArrayIndexOutOfBoundsException: 9

折腾了好几天,把一些问题汇总分享出来,避免其他人走弯路,尤其注意服务器与本地的时钟不一致,会导致dbeaver连接不上,但是kerberos认证的工具认证没有问题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/829990.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Node.js工程师养成计划】之原生node开发web服务器

一、使用node创建http服务器 var http require(http);// 获取到服务器实例对象 var server http.createServer() server.listen(8080, function() {console.log(http://127.0.0.1:8080); })server.on(request, function(req, res){console.log(request);res.write(6666666688…

如何利用 GPT 自我提高写作能力

GPT革命&#xff1a;如何用AI技术重新定义写作 介绍 在我们的数字时代&#xff0c;了解自我提高写作的必要性至关重要。 随着 GPT 的兴起&#xff0c;我们正在见证书写的变革时代。 这篇扩展文章深入探讨了 GPT 如何显着提高写作技能。 拥抱未来&#xff1a; 人工智能时代的写…

Maven介绍 主要包括Maven的基本介绍,作用,以及对应的Maven模型,可以对Maven有一个基本的了解

1、Maven介绍 1.1 什么是Maven Maven是Apache旗下的一个开源项目&#xff0c;是一款用于管理和构建java项目的工具。 官网&#xff1a;https://maven.apache.org/ Apache 软件基金会&#xff0c;成立于1999年7月&#xff0c;是目前世界上最大的最受欢迎的开源软件基金会&…

Elasticsearch实现hotel索引库自动补全、拼音搜索功能

Elasticsearch实现hotel索引库自动补全、拼音搜索功能 在这里边我们有两个字段需要用拼音分词器&#xff0c;一个name字段&#xff0c;一个all字段。 然后我们还需要去实现自动补全&#xff0c;而自动补全对应的字段必须使用completion类型。目前我们酒店里面所有的字段都采用的…

【SpringBoot】00 Maven配置及创建项目

一、Maven配置 1、下载Maven 进入官网下载&#xff1a;Maven – Welcome to Apache MavenMaven – Download Apache Maven 本文以最新版为例&#xff0c;可按需选择版本 Maven – Welcome to Apache Maven 2、解压下载好的安装包 将安装包解压到自己设置的空文件夹中 3、…

AI视频教程下载:构建一个ChatGPT股票配对交易机器人

ChatGPT及其后续版本GPT-4已经开始改变世界。人们对新机会感到兴奋&#xff0c;同时对我们社会可能受到的影响感到恐惧。这门课程结合了两个主题&#xff1a;AI和财务&#xff08;算法交易&#xff09;。 你将会学到的&#xff1a; 使用ChatGPT构建一个Python配对交易机器人 …

(Linux)Centos7.*版本安装配置Java环境、Tomcat、Nginx并打包部署SSM框架web系统

一、准备软件与安装包 (一)、必须的软件 1、点击下载Xshell 2、点击下载FileZilla (二)、准备安装包 1、点击下载JDK1.8Linux版本 2、点击下载Nginx 3、点击下载Tomcat 二、关于FileZilla软件的使用说明 (一)、FileZilla软件的打开和说明 (二)、配置服务器地址去连…

理解ROS2的动作

​ 1. 创建一个动作 目标&#xff1a; 在ROS 2软件包中定义一个动作。 1.1 新建包 设置一个 workspace 并创建一个名为 action_tutorials_interfaces 的包&#xff1a; mkdir -p ros2_ws/src #you can reuse existing workspace with this naming convention cd ros2_ws/s…

NLP发展及其详解

一、RNN(循环神经网络) 在这里附上一个很好的笔记 零基础入门深度学习(5) - 循环神经网络 RNN(循环神经网络)的结构特点在于其循环单元的设计,这种设计允许网络在处理序列数据时保持对之前信息的记忆。下面详细解释RNN的结构: 循环单元:RNN的循环单元是网络的核心,它…

基于Springboot的爱心商城系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的爱心商城系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&…

[BT]BUUCTF刷题第25天(4.28)

第25天&#xff08;共3题&#xff09; Web [CISCN 2019 初赛]Love Math 打开网站就是一段泄露的源代码&#xff1a; <?php error_reporting(0); //听说你很喜欢数学&#xff0c;不知道你是否爱它胜过爱flag if(!isset($_GET[c])){show_source(__FILE__); }else{//例子 c…

【LeetCode刷题记录】简单篇-70-爬楼梯

【题目描述】 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 【测试用例】 示例1&#xff1a; 输入&#xff1a;n 2 输出&#xff1a;2 解释&#xff1a;有两种方法可以爬到楼顶。 1.1阶 1阶…

C语言-------实现贪吃蛇小游戏

目录 一、预备知识 1.1 Win32 API介绍 Windows 这个多作业系统除了协调应用程序的执行、分配内存、管理资源之外&#xff0c; 它同时也是一个很大的服务中心&#xff0c;调用这个服务中心的各种服务&#xff08;每一种服务就是一个函数&#xff09;&#xff0c;可以帮应用程…

PyVista 3D数据可视化 Python 库 简介

Pyvista是一个用于科学可视化和分析的Python库 &#xff1b;我认为它适合做一些网格数据的处理&#xff1b; 它封装了VTK&#xff08;Visualization Toolkit&#xff09;之上&#xff0c;提供了一些高级接口&#xff0c; 3D数据可视化变得更加简单和易用。 1.安装 pyvista&…

SpringMVC进阶(自定义拦截器以及异常处理)

文章目录 1.自定义拦截器1.基本介绍1.说明2.自定义拦截器的三个方法3.流程图 2.快速入门1.Myinterceptor01.java2.FurnHandler.java3.springDispatcherServlet-servlet.xml配置拦截器4.单元测试 3.拦截特定路径1.拦截指定路径2.通配符配置路径 4.细节说明5.多个拦截器1.执行流程…

LeetCode 150. 逆波兰表达式求值

LeetCode 150. 逆波兰表达式求值 1、题目 题目链接&#xff1a;150. 逆波兰表达式求值 给你一个字符串数组 tokens &#xff0c;表示一个根据 逆波兰表示法 表示的算术表达式。 请你计算该表达式。返回一个表示表达式值的整数。 注意&#xff1a; 有效的算符为 ‘’、‘-’、…

如何基于Zookeeper实现注册中心模型?

在分布式系统中&#xff0c;通常会存在几十个甚至上百个服务&#xff0c;开发人员可能甚至都无法明确系统中到底有哪些服务正在运行。另一方面&#xff0c;我们很难同时确保所有服务都不出现问题&#xff0c;也很难保证当前的服务部署方式不做调整和优化。由于自动扩容、服务重…

tableau如何传参数到MySQL数据库

1、打开tableau连接本地MySQL-》新建自定义sql-》创建参数 2、新建一个简单的工作表-》把维度拖拽到行显示结果-》右键显示参数 3、参数传递到数据库sql写法 select * from yonghu where yonghu.姓名 like concat(%,<参数.姓名>,%)select * FROMabadata4WHERE abadata4…

基于STM32单片机的汽车胎压、速度及状态监测系统设计与实现

基于STM32单片机的汽车胎压、速度及状态监测系统设计与实现 摘要&#xff1a; 随着汽车电子技术的快速发展&#xff0c;车辆状态实时监控系统的需求日益增长。本文设计并实现了一种基于STM32单片机的汽车胎压、速度及状态监测系统。该系统能够实时监测汽车的胎压、速度以及其他…

MCU自动测量单元:自动化数据采集的未来

随着科技的飞速发展&#xff0c;自动化技术在各个领域中的应用日益广泛。其中&#xff0c;MCU(微控制器)自动测量单元以其高效、精准的特性&#xff0c;成为自动化数据采集领域的佼佼者&#xff0c;引领着未来数据采集技术的革新。本文将深入探讨MCU自动测量单元的原理、优势以…