dbeaver连接amabri-hbase
目录
尝试过程
解决之道
总结
尝试过程
注意此章节为记录试错过程,无需跟随操作,仅作试错记录。真正操作方法请看“解决之道”章节
环境ambari安装的hbase2.1.6
使用apche phoenix默认驱动配置
备注:Apache Phoenix 是一个开源的、基于 SQL 的查询引擎,它使得可以在 Apache HBase(分布式 NoSQL 数据库)上使用标准的 SQL 查询语言。Phoenix 提供了对 HBase 的 SQL 接口,使得用户可以使用熟悉的 SQL 语法来查询和操作 HBase 中的数据。
在hbase配置文件中找到ZooKeeper Znode Parent参数的值
并在编辑驱动中添加:
添加驱动属性
测试连接
出现:
Insufficient permissions to create SYSTEM namespace and SYSTEM Tables
权限不足,无法创建 SYSTEM 命名空间和 SYSTEM空间下的 表
手动登录hbase创建SYSTEM,并授予hbase用户权限
测试连接
ERROR 1012 (42M03): Table undefined. tableName=SYSTEM.CATALOG
又出现没有SYSTEM.CATALOG表,此时怀疑是否需要提前在服务器上安装apache phoenix?
按照HBase 整合Phoenix_hbase2.0.2集成phoenix_十二同学啊的博客-CSDN博客
方法在ambari-hadoop1节点安装完后,执行
[linux@node1 phoenix]$ bin/sqlline.py ambari-hadoop1:2181
命令时出现Caused by: org.apache.hadoop.hbase.TableNotFoundException: SYSTEM.CATALOG的错误
解决方案:重新清理hbase,如果可以的话(建议先备份,系统快照)
1 在执行命令之前:先关闭hbase(包括HMaster和regionServer)
2 /bin/hbase clean --cleanAll
注意:hbase clean --cleanAll是清楚hbase clean --cleanALL是清除所有数据慎用
3 然后重新启动hbase
4 [root@hdp1 /mnt/software/phoenix-4.10.0-cdh5.12.0/bin]#python ./sqlline.py ambari-hadoop1:2181
成功
dbeaver配置:
注意服务器ambari-hbase上 也需要配置以下两个属性的值:
测试连接
ERROR 2007 (INT09): Outdated jars. Newer Phoenix clients can't communicate with older Phoenix servers. The following servers require an updated phoenix-[version]-server.jar to be put in the classpath of HBase: region=SYSTEM.CATALOG,,1701162392278.2179ae0a2eac521be10539173a8f47be., hostname=ambari-hadoop2,16020,1701163111938, seqNum=16
额,dbeaver和服务器端Phoenix使用的jar包不一致,更换驱动之前在ambari-hadoop1节点上安装的phoenix目录下的 client jar包,测试连接后dbeaver一直connecting main,最后超时报错KeeperErrorCode = ConnectionLoss for /hbase-unsecure
但是zk服务正常、hbase服务也正常,通过zkCli.sh也能查看/hbase-unsecure下的内容,所有虚拟机节点的防火墙也处于关闭状态,百思不得其解
解决之道
这时无意中看见在hbase组件页面有一个叫做“phoenix query servers”的服务
点进去查看发现这个服务进程是在ambari-hadoop2节点上,于是去到ambari-hadoop2节点的/usr/hdp/3.1.5.0-152路径下ll查看一下,果然发现有一个名叫“phoenix”的目录,进去该目录发现
有一个client jar包
于是马上下载到本机,并修改dbeaver apache phoenix驱动配置,将驱动替换为此jar包并成功找到类
剩余驱动配置如下
测试连接成功!成功解决
解决成功后展开表出现权限问题:
org.apache.hadoop.hbase.security.AccessDeniedException: Insufficient permissions for user ‘18389',action: scannerOpen, tableName:SYSTEM:CATALOG, family:0, column: TYPE_NAME
解决思路:为‘18389’用户赋予在SYSTEM:CATALOG表上的读写权限
解决方法:利用ranger创建一个名为‘18389’的用户,并赋予其在hbase上的权限
再次展开表后,没有权限问题但是一片空白,并且 dbeaver上创建表后仍然不可见
并且其他的namspace不可见,其余表也不可见
将之前设置的phoenix.schema.isNamespaceMappingEnabled值改为false(
phoenix.schema.isNamespaceMappingEnabled
是 Apache Phoenix 中的一个配置属性,用于启用或禁用 Phoenix 对 HBase 命名空间的支持。当该属性被启用时,Phoenix 将使用 HBase 的命名空间来组织表。在启用命名空间映射后,Phoenix 表名将包括命名空间前缀。
例如,假设 phoenix.schema.isNamespaceMappingEnabled
被设置为 true,如果你在命名空间 "Test" 中创建了表 "MyTable",则 Phoenix 中的表名将是 "Test.MyTable"。
如果禁用了命名空间映射,那么 Phoenix 将使用默认的 HBase 表。在这种情况下,Phoenix 表名就是 HBase 表名,不包括命名空间前缀。
)
设置默认数据库为空值
再次断开重连,可以看见default命名空间下的表和其他命名空间下的表,并且执行后可以看见新建的表
总结
当利用dbeaver 连接ambari部署的hbase时,由于已经自带了phoenix query servers服务,所以需要将phoenix query servers服务所在节点目录下的client jar驱动包,下载到本地,并编辑驱动配置指定该jar包。避免使用其他jar包以免出现驱动的问题,并且需要注意在URL后面添加ZooKeeper Znode Parent 的后缀。
相关文章:

dbeaver连接amabri-hbase
目录 尝试过程 解决之道 总结 尝试过程 注意此章节为记录试错过程,无需跟随操作,仅作试错记录。真正操作方法请看“解决之道”章节 环境ambari安装的hbase2.1.6 使用apche phoenix默认驱动配置 备注:Apache Phoenix 是一个开源的、基于…...
Mac IDEA解决Maven项目命令行报错:command not found: mvn
1. 使用idea自带的maven命令 open -e ~/.zshrc 2. 在其最下面增加 # maven export MAVEN_HOME"/Applications/IntelliJ IDEA.app/Contents/plugins/maven/lib/maven3" export PATH$MAVEN_HOME/bin:$PATH # maven end 3. 连接使之生效 source ~/.zshrc4. 修改mvn…...
线性回归 梯度下降
梯度下降算法 在开始之前,为了方便解释,首先规定几个符号所代表的意义: m m m 训练集中训练样本的数量 X X X 输入变量 Y Y Y 输出变量 ( x , y ) (x,y) (x,y) 训练样本 ( x i , y i ) (x^i,y^i) (xi,yi)第i个训练样本(i表示…...

[Linux]进程等待
文章目录 3.进程等待3.1什么是进程等待3.2为什么要进程等待3.3如何进行进程等待?1.wait2.waitpid2.1函数的讲解2.2status的理解2.3代码理解 3.4学后而思1.直接用全局变量获取子进程退出码可以吗?如下2.进程具有独立性 退出码是子进程的数据 父进程是如何拿到退出码的3.对内存…...

Project DESFT 白皮书中文版——应用于普惠金融的可信数字凭证解决方案
1. 概述 Project DESFT 是由 Solv 基金会与 zCloak Network 联合设计孵化,以跨境贸易和金融服务为场景的分布式可信数字凭证解决方案(Distributed Trusted Digital Credential Solution),项目获得新加坡金管局(Monetar…...
907. 子数组的最小值之和 --力扣 --JAVA
题目 给定一个整数数组 arr,找到 min(b) 的总和,其中 b 的范围为 arr 的每个(连续)子数组。 由于答案可能很大,因此 返回答案模 10^9 7 。 解题思路 找到以当前值为最小值所能组成的子数组;若存在两个相同…...

3D模型渲染导致电脑太卡怎么办?
在线工具推荐: 三维数字孪生场景工具 - GLTF/GLB在线编辑器 - Three.js AI自动纹理化开发 - YOLO 虚幻合成数据生成器 - 3D模型在线转换 - 3D模型预览图生成服务 1、什么是3D渲染? 3D渲染是指通过计算机图形学技术将三维模型转化为二维图像的过程…...

构建个人代理池:使用GitHub项目proxy_pool的搭建配置及代码接口详解
手把手教你搭建代理IP池: 项目简介: 爬虫代理IP池项目,主要功能为定时采集网上发布的免费代理验证入库,定时验证入库的代理保证代理的可用性,提供API和CLI两种使用方式。同时你也可以扩展代理源以增加代理池IP的质量和数量。…...

Pytorch进阶教学——训练一个图像分类模型(GPU)
目录 1、前言 2、数据集介绍 3、获取数据 4、创建网络 5、训练模型 6、测试模型 6.1、测试整个模型准确率 6.2、测试单张图片 1、前言 编写一个可以分类蚂蚁和蜜蜂图片的模型,使用数据集对卷积神经网络进行训练。训练后的模型可以对蚂蚁或蜜蜂的图片进行…...

Docker Swarm总结+CI/CD Devops、gitlab、sonarqube以及harbor的安装集成配置(3/5)
博主介绍:Java领域优质创作者,博客之星城市赛道TOP20、专注于前端流行技术框架、Java后端技术领域、项目实战运维以及GIS地理信息领域。 🍅文末获取源码下载地址🍅 👇🏻 精彩专栏推荐订阅👇🏻…...

Linux:windows 和 Linux 之间文本格式转换
背景 在 Windows 上编辑的文件,放到 Linux 平台,有时会出现奇怪的问题,其中有一个是 ^M 引起的,例如这种错误: /bin/bash^M: bad interpreter 这个问题相信大家也碰到过,原因是 Windows 和 Linux 关于换行的…...

VBA技术资料MF88:测试Excel文件名是否有效
我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。我的教程一共九套,分为初级、中级、高级三大部分。是对VBA的系统讲解,从简单的入门,到…...
u8g2图形库——丝滑菜单制作
目录 一、实物效果展示 二、丝滑菜单实现原理 三、代码开源 1.ui_bmp.h 2.ui.h 3.ui.c 一、实物效果展示 u8g2图形库——丝滑菜单制作 二、丝滑菜单实现原理 int ui_run(short *a,short *a_tag,uint8_t step,uint8_t slow_cnt) //UI滑动效果 {uint8_t temp;…...

Go 异常处理流程
在 Go 语言中,panic、recover 和 defer 是用于处理异常情况的关键字。它们通常一起使用来实现对程序错误的处理和恢复。 1. defer 语句 defer 用于在函数返回之前执行一段代码。被 defer 修饰的语句或函数会在包含 defer 的函数执行完毕后执行。defer 常用于资源清…...

ubuntu20.04安装tensorRT流程梳理
目标:先跑demo,再学习源码 step1, 提前准备好CUDA环境 安装CUDA,cuDNN 注意,CUDA,cuDNN需要去官网下载.run和tar文件安装,否则在下面step4 make命令会报找不到cuda等的错误,具体安装教程网上…...

数字孪生技术:提升UI交互性与个性化设计
随着数字化时代的到来,数字孪生技术正在逐渐改变我们的生活和工作方式。数字孪生是一种复制现实世界系统或实体的技术,通过创建数字模型来模拟现实世界中的各种行为和事件。这种技术不仅为人们提供了一个全新的视角来看待和解决问题,同时也为…...

外包干了5个月,技术退步明显.......
先说一下自己的情况,大专生,18年通过校招进入武汉某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了四年的功能测…...

嵌入式常见的几种接口
嵌入式开发中,常见的外设通信接口/协议有SPI,I2C,UART三种,本文先分三个部分对SPI,I2C,UART进行介绍,最后对这三种协议进行比较。 1 SPI 1.1 SPI的简介 SPI(Serial Peripheral …...

基于SpringBoot+Redis的前后端分离外卖项目-苍穹外卖(七)
分页查询、删除和修改菜品 1. 菜品分页查询1.1 需求分析和设计1.1.1 产品原型1.1.2 接口设计 1.2 代码开发1.2.1 设计DTO类1.2.2 设计VO类1.2.3 Controller层1.2.4 Service层接口1.2.5 Service层实现类1.2.6 Mapper层 1.3 功能测试1.3.2 前后端联调测试 2. 删除菜品2.1 需求分析…...
Grafana采用Nginx反向代理,部分功能报错‘Origin not allowed’ behind proxy
只有部分功能会有这个提示,比如修改密码啥的,网上找了下,官方找到了答案:https://community.grafana.com/t/after-update-to-8-3-5-origin-not-allowed-behind-proxy/60598 有个回复是这样的: tl:dr: try adding prox…...

国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...
可靠性+灵活性:电力载波技术在楼宇自控中的核心价值
可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...
测试markdown--肇兴
day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...

微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)
🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...