当前位置: 首页 > news >正文

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 requireduseKeyTab=truekeyTab="C:\\ecotesting\\Fiber\\conf\\user.keytab"principal="gzdsj_ruixin"useTicketCache=falsestoreKey=truedebug=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
    在这里插入图片描述

相关文章:

Dbeaver连接Hive数据库操作指导

背景:由于工作需要,当前分析研究的数据基于Hadoop的Hive数据库中,且Hadoop服务端无权限进行操作且使用安全模式,在研究了Dbeaver、Squirrel和Hue三种连接Hive的工具,在无法绕开useKey认证的情况下,只能使用…...

【RabbitMQ笔记09】消息队列RabbitMQ之常见方法的使用

这篇文章,主要介绍消息队列RabbitMQ之常见方法的使用。 目录 一、消息队列常见方法 1.1、连接工厂ConnectionFactory 1.2、连接Connection 1.3、通道Channel 1.4、交换机相关方法 (1)exchangeDeclare()声明交换机 1.5、队列相关方法 …...

Linux字符设备驱动模型之设备号

从上文中可知,在Linux用户空间中,如若需要操作硬件设备,均通过/dev目录下的设备文件节点进行操作,基本上每一种设备都会存在一个或者多个的设备节点。 并且在Linux内核中,其表示字符设备的结构成员也提供了相应的设备号…...

C++多态原理

请看下面的程序&#xff0c;该程序演示了多态类对象存储空间的大小。 #include <iostream> using namespace std; class A {public:int i;virtual void func() {}virtual void func2() {} }; class B : public A {int j;void func() {} }; int main() {cout << si…...

PMP认证与NPDP认证哪个含金量高?

两个证涉及的领域不一样的&#xff0c;一个是项目管理&#xff0c;对应的是项目经理&#xff1b;一个是产品管理&#xff0c;对应的是产品经理。含金量不能相比&#xff0c;但在各自的领域的含金量是很高的&#xff0c;至少专业程度或者知名度是最高的。 我来分别说一下PMP认证…...

改进YOLOv7-Tiny系列:首发改进结合BiFPN结构的特征融合网络,网络融合更多有效特征,高效涨点

💡该教程为改进进阶指南,属于《芒果书》📚系列,包含大量的原创首发改进方式, 所有文章都是全网首发原创改进内容🚀 内容出品:CSDN博客独家更新 @CSDN芒果汁没有芒果 💡本篇文章 基于 YOLOv5、YOLOv7芒果改进YOLO系列:芒果改进YOLOv7-Tiny系列:首发改进结合BiFPN结…...

PPC Insights系列:洞见安全多方图联邦

开放隐私计算开放隐私计算开放隐私计算OpenMPC是国内第一个且影响力最大的隐私计算开放社区。社区秉承开放共享的精神&#xff0c;专注于隐私计算行业的研究与布道。社区致力于隐私计算技术的传播&#xff0c;愿成为中国 “隐私计算最后一公里的服务区”。183篇原创内容公众号知…...

SQLite注入记录(目前最全、核心函数用法、布尔盲注、时间盲注、webshell、动态库,绕过方式)

目录 与Mysql区别 全部核心函数 普通注入 查询所有列 查看所有表名...

Java简单的生成/解析二维码(zxing qrcode)

Hi I’m Shendi Java简单的生成/解析二维码&#xff08;zxing qrcode&#xff09; 在之前使用 qrcode.js 方式生成二维码&#xff0c;但在不同设备上难免会有一些兼容问题&#xff0c;于是改为后端&#xff08;Java&#xff09;生成二维码图片 这里使用 Google 的 zxing包 Jar…...

若依项目导出后端响应的Excel文件流处理

若依开源项目&#xff1a;http://doc.ruoyi.vip/ruoyi-vue 问题 前端 1. download.js 添加自定义方法 /*** 自定义方法&#xff1a;导出后端响应的 excel 文件流* param url 请求后端的接口地址 例如&#xff1a;"/downloadExcel"* param name 响应后的文件名称&…...

华为OD机试【独家】提供C语言题解 - 数组排序

最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧文章目录 最近更新的博客使用说明数组…...

JVM详解——内存结构

文章目录内存结构1、 运行时数据区2、虚拟机栈3、本地方法栈4、程序计数器5、 堆6、方法区7、运行时常量池8、内存溢出和内存泄漏9、 堆溢出内存结构 1、 运行时数据区 Java虚拟机在运行Java程序期间将管理的内存划分为不同的数据区&#xff0c;不同的区域负责不同的职能&…...

Jvisualvm监控Tomcat以及相关参数优化

Tomcat阻塞模式 阻塞模式&#xff08;BIO&#xff09; 客户端和服务器创建一个连接&#xff0c;它就会创建一个线程来处理这个连接&#xff0c;以为这客户端创建了几个连接&#xff0c;服务端就需要创建几个线程来处理你&#xff0c;导致线程会产生很多&#xff0c;有很多线程…...

界面组件DevExpress WinForms v22.2 - 全面升级数据展示功能

DevExpress WinForms拥有180组件和UI库&#xff0c;能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序&#xff0c;无论是Office风格的界面&#xff0c;还是分析处理大批量的业务数据&#xff0c;它都能轻松胜…...

正点原子第一期

ZYNQ是一个fpga用来硬件编程&#xff0c;外加一个软件编程 FPGA是可通过编程来修改其逻辑功能的数字集成电路 第三篇语法篇 第七章 verilog HDL语法 Verilog的简介 可编程逻辑电路&#xff1a;允许用户自行修改内部连接的集成电路&#xff0c;其内部的电路结构可以通过编程数…...

「mysql是怎样运行的」第24章 一条记录的多幅面孔---事务的隔离级别与MVCC

「mysql是怎样运行的」第24章 一条记录的多幅面孔—事务的隔离级别与MVCC 文章目录「mysql是怎样运行的」第24章 一条记录的多幅面孔---事务的隔离级别与MVCC一、事前准备二、事务的隔离级别事务并发执行遇到的问题SQL标准中的四种隔离级别MySQL中支持的四种隔离级别三、MVCC原…...

入门Java第十五天 线程

一、多线程 1.1进程和线程 进程&#xff1a;进程就是操作系统中运行的每一个应用程序。例如&#xff1a;微信&#xff0c;QQ 线程&#xff1a;线程是进程中的每一个任务。 多线程&#xff1a;在一个进程中&#xff0c;可以同时执行多个线程。同时完成多个任务。 并发&#x…...

探索用卷积神经网络实现MNIST数据集分类

问题对比单个全连接网络&#xff0c;在卷积神经网络层的加持下&#xff0c;初始时&#xff0c;整个神经网络模型的性能是否会更好。方法模型设计两层卷积神经网络&#xff08;包含池化层&#xff09;&#xff0c;一层全连接网络。选择 5 x 5 的卷积核&#xff0c;输入通道为 1&…...

MySQL 索引失效场景

1&#xff0c;前言 索引主要是为了提高表的查询速率&#xff0c;但在某些情况下&#xff0c;索引也会失效的情况。 2&#xff0c;失效场景 2.1 最左前缀法则 查询从索引最左列开始&#xff0c;如果跳过索引中的age列&#xff0c;那么age后面字段的索引都将失效&#xff0c;…...

Xcode开发工具,图片放入ios工程

Xcode开发工具&#xff0c;图片放入ios工程&#xff0c;有三种方式&#xff1a; 一&#xff1a;Assets Assets.xcassets 一般是以蓝色的Assets.xcassets的文件夹形式在工程中&#xff0c;以Image Set的形式管理。当一组图片放入的时候同时会生成描述文件Contents.jso…...

操作系统权限提升(十九)之Linux提权-SUID提权

系列文章 操作系统权限提升(十八)之Linux提权-内核提权 SUID提权 SUID介绍 SUID是一种特殊权限&#xff0c;设置了suid的程序文件&#xff0c;在用户执行该程序时&#xff0c;用户的权限是该程序文件属主的权限&#xff0c;例如程序文件的属主是root&#xff0c;那么执行该…...

直播 | StarRocks 实战系列第三期--StarRocks 运维的那些事

2023 年开春&#xff0c; StarRocks 社区重磅推出入门级实战系列直播&#xff0c;手把手带你从 Zero to Hero 成为一个 “StarRocks Pro”&#xff01;通过实际操作和应用场景的结合&#xff0c;我们将帮你系统性地学习 StarRocks 这个当今最热门的开源 OLAP 数据库。本次&…...

KingabseES执行计划-分区剪枝(partition pruning)

概述 分区修剪(Partition Pruning)是分区表性能的查询优化技术 。在分区修剪中&#xff0c;优化器分析SQL语句中的FROM和WHERE子句&#xff0c;以在构建分区访问列表时消除不需要的分区。此功能使数据库只能在与SQL语句相关的分区上执行操作。 参数 enable_partition_pruning 设…...

Operator-sdk 在 KaiwuDB 容器云中的使用

一、使用背景KaiwuDB Operator 是一个自动运维部署工具&#xff0c;可以在 Kubernetes 环境上部署 KaiwuDB集群&#xff0c;借助 Operator 可实现无缝运行在公有云厂商提供的 Kubernetes 平台上&#xff0c;让 KaiwuDB 成为真正的 Cloud-Native 数据库。使用传统的自动化工具会…...

【数据挖掘】2、数据预处理

文章目录一、数据预处理的意义1.1 缺失数据1.1.1 原因1.1.2 方案1.1.3 离群点分析1.2 重复数据1.2.1 原因1.2.2 去重的方案1.3 数据转换1.4 数据描述二、数据预处理方法2.1 特征选择 Feature Selection2.2 特征提取 Feature Extraction2.2.1 PCA 主成分分析2.2.2 LDA 线性判别分…...

(四十六)大白话在数据库里,哪些操作会导致在表级别加锁呢?

之前我们已经给大家讲解了数据库里的行锁的概念&#xff0c;其实还是比较简单&#xff0c;容易理解的&#xff0c;因为在讲解锁这个概念之前&#xff0c;对于多事务并发以及隔离&#xff0c;我们已经深入讲解过了&#xff0c;所以大家应该很容易在脑子里有一个多事务并发执行的…...

【Android源码面试宝典】MMKV从使用到原理分析(二)

上一章节,我们从使用入手,进行了MMKV的简单讲解,我们通过分析简单的运行时日志,从中大概猜到了一些MMKV的代码内部流程,同时,我们也提出了若干的疑问?还是那句话,带着目标(问题)去阅读一篇源码,那么往往收获的知识,更加深入&扎实。 本节,我们一起来从源码层次…...

如何使用ADFSRelay分析和研究针对ADFS的NTLM中继攻击

关于ADFSRelay ADFSRelay是一款功能强大的概念验证工具&#xff0c;可以帮助广大研究人员分析和研究针对ADFS的NTLM中继攻击。 ADFSRelay这款工具由NTLMParse和ADFSRelay这两个实用程序组成。其中&#xff0c;NTLMParse用于解码base64编码的NTLM消息&#xff0c;并打印有关消…...

【Python学习笔记】第二十二节 Python XML 解析

一、什么是XMLXML即ExtentsibleMarkup Language(可扩展标记语言)&#xff0c;是用来定义其它语言的一种元语言。XML 被设计用来传输和存储数据。XML 是一套定义语义标记的规则&#xff0c;它没有标签集(tagset)&#xff0c;也没有语法规则(grammatical rule)。任何XML文档对任何…...

5分钟轻松拿下Java枚举

文章目录一、枚举(Enum)1.1 枚举概述1.2 定义枚举类型1.2.1 静态常量案例1.2.2 枚举案例1.2.3 枚举与switch1.3 枚举的用法1.3.1 枚举类的成员1.3.2 枚举类的构造方法1&#xff09;枚举的无参构造方法2&#xff09;枚举的有参构造方法1.3.3 枚举中的抽象方法1.4 Enum 类1.4.1 E…...

企业b2b网站建设/最近新闻摘抄50字

都说程序员是一个青春饭&#xff0c;而我也不知不觉进入行业七年多了&#xff0c;自己也马上要进入而立之年了。都说30岁是每个程序员必会经历的一道坎&#xff0c;而自己也快到要面对这个坎了&#xff0c;我时常会想我能不能跨个这道坎。 于是请教了一些年过30还发展很好的前辈…...

wordpress 邮件防骚扰/品牌推广活动策划方案

开篇 AgileEAS.NET5.0平台,预计这个月的中旬就会发布&#xff0c;这次发布里面相比上次的AgileEAS.NET4.0的版本主要的变化是以下几块内容&#xff1a; 本文&#xff0c;主要是针对其中的工作流这块&#xff0c;进行讲述基本的说明&#xff0c;这个月的中旬&#xff0c;大家就可…...

百度 门户网站/衡阳seo优化推荐

也许你在写OC的时候已经用过了Masonry这个第三方库来写自动布局&#xff0c;今天我们来说说Swift版本的Masonry第三方库SnapKit SnapKit snp_remakeConstraints snp_remakeConstraints is similar to snp_makeConstraints, but will first remove all existing constraints ins…...

布吉商城网站建设基本流程/企业seo如何优化

场景介绍app 里有一个有一个UITabBarController&#xff0c;在进入UITabBarController之前要验证用户是否已经登陆&#xff0c;如果没有登陆就弹出一个对话框&#xff0c;让用户输入登陆信息。实现方式1.在appDelegate。h里声明一个变量&#xff0c;用来绑定UITableController&…...

东乡哪里有做网站/株洲seo优化

&#x1f4e2; 我是二黑&#xff0c;一个快要秃头的测试人 &#x1f4e2; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01; &#x1f4e2; 我收集了一些软件测试资料&#xff0c;关注我公众号&#xff1a;程序员二黑&#xff0c;免费领取&am…...

网站流量一直做不起来/搜索引擎优化seo多少钱

要使m叉树高度最小的必要前提是&#xff0c;每一个分支结点都要依次满孩子&#xff0c;即每一层的分支节点都要有m个孩子。 即高度最小的情况–所有结点都有m个孩子 由于高度为h的m叉树所能能容纳的最大结点个数为(mh - 1)/(m - 1) 假设高度为h的m叉树的结点个数为n 可得 n &…...