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 的后缀。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: /DBeaver-EE-21.1.0是一款功能强大的数据库管理工具。它支持多种数据库,如MySQL、Oracle、SQL Server等,可以方便地对这些数据库进行管理和操作。 /DBeaver-EE-21.1.0具有友好的用户界面和直观的操作方式,使得用户可以快速上手并进行各种操作。它提供了丰富的功能,如查询、导入导出数据、备份恢复数据库等,满足了用户在数据库管理过程中的各种需求。 /DBeaver-EE-21.1.0还支持多种插件,用户可以根据自己的需求选择安装不同的插件,从而扩展工具的功能。这些插件包括连接器、视图编辑器、报表生成器等,提供了更多的选择和便利。 此外,/DBeaver-EE-21.1.0还具有一些高级功能,如数据模型生成、数据字典生成等。这些功能可以帮助用户更好地进行数据库设计和管理,提高工作效率。 总而言之,/DBeaver-EE-21.1.0是一款功能强大、操作简便的数据库管理工具,可以满足用户在数据库管理过程中的各种需求。无论是初学者还是专业人士,都可以通过它来轻松管理和操作各种数据库。 ### 回答2: dbeaver-ee-21.1.0是一款开源的数据库管理工具,它支持多种数据库平台,包括MySQL、PostgreSQL、Oracle等。 该工具具有丰富的功能,用户可以通过它连接和管理数据库、执行SQL语句、浏览和编辑表格、导入和导出数据等。此外,它还提供了直观的图形化界面,使用户更容易操作和管理数据库dbeaver-ee-21.1.0还具有高度的可定制性。用户可以根据自己的需求选择不同的插件和扩展来扩展工具的功能。此外,它还支持多种主题,用户可以根据自己的喜好来调整界面的外观和风格。 该工具还内置了一些实用的功能,如数据比较和同步、数据查询和分析等。它可以帮助用户更轻松地进行数据库管理和数据处理工作,提高工作效率。 此外,dbeaver-ee-21.1.0还具有良好的跨平台性能,可以在Windows、Mac和Linux等操作系统上运行,满足不同用户的需求。 总的来说,dbeaver-ee-21.1.0是一款功能强大、易于使用和高度可定制的数据库管理工具,适合各种规模和类型的项目使用。 ### 回答3: dbeaver-ee-21.1.0是一款功能强大的数据库管理工具。它是DBeaver的企业版,提供了更多高级功能和扩展支持。 作为一款数据库工具,dbeaver-ee-21.1.0支持多种数据库管理系统,包括MySQL、Oracle、PostgreSQL、Microsoft SQL Server等,可以方便地连接、管理和操作这些数据库。它提供了直观友好的用户界面,使用户可以轻松地进行数据查询、编辑、导入和导出等操作。 dbeaver-ee-21.1.0为用户提供了丰富的功能和特性。它支持SQL编辑和执行,用户可以编写和调试SQL语句,对数据库进行查询和修改。此外,它还提供了数据导入和导出功能,可以将数据从数据库导出为各种格式,或将外部数据导入到数据库中。 dbeaver-ee-21.1.0还支持数据库对象的管理,用户可以方便地创建、修改和删除数据库表、视图、存储过程等对象。此外,它还提供了数据备份和还原功能,可以对数据库进行定期备份,以防止数据丢失。 dbeaver-ee-21.1.0拥有丰富的插件和扩展支持,用户可以根据自己的需求添加和使用不同的插件,扩展工具的功能。同时,它还支持与其他开发工具和框架的集成,方便开发人员在开发过程中与数据库交互。 总之,dbeaver-ee-21.1.0是一款功能强大、易于使用的数据库管理工具,它为用户提供了丰富的功能和特性,可以帮助用户轻松地管理和操作各种数据库。无论是数据库管理员、开发人员还是数据分析师,都可以从中受益。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值