DBeaver连接hive、impala、phoenix、HAWQ、redis

2020-06-16 15:18:25 浏览数 (1)

目录

一、DBeaver简介

二、下载与安装

三、连接hive

四、连接impala

五、连接phoenix

六、连接HAWQ

七、连接redis


伴随着技术的不断发展与进步,我们会接触和使用越来越多的数据源。从经久不衰的MySQL、Oracle、SQLserver、DB2等关系数据库,到方兴未艾的MongoDB、Redis、Cassandra等NoSQL产品,再到屡见不鲜的各种大数据组件,如Hive、Impala、HBase、Phoenix、Spark,以及林林总总的时序数据库、全文检索系统、图数据库等等。如果有一个Client,能够连接所有这些数据源,并将常规开发环境(如SQL脚本)都集中在一个GUI中,则必将为技术人员节省大量寻找并熟悉相应工具的时间,从而提高工作效率。正所谓工欲善其事,必先利其器,本篇介绍的DBeaver正是这样一款工具软件。

一、DBeaver简介

DBeaver是一个是经过精心设计和开发的通用数据库管理工具和客户端,易用性是该产品的主要目标。DBeaver具有跨平台、基于开源框架和允许各种扩展插件等特点,支持任何具有JDBC驱动程序的数据库,可以处理多种外部数据源。它提供一个图形界面用来查看数据库结构、执行SQL查询和脚本,浏览和导出数据,处理BLOB/CLOB 数据,修改数据库结构等。

下面是DBeaver具有的主要功能特性。 1. 可连接多种数据库

支持各种类型数据库的驱动程序,包括关系数据库、面向文档数据库、键值数据库、时间序列数据库和其它数据库等。同时支持用户定义的连接类型和创建自定义驱动程序。支持标准配置(主机、端口、用户名、口令)以及高级连接属性:

  • SSH隧道
  • SOCKS代理
  • 在实际数据库连接之前/之后执行Shell命令

在连接后可以立即在数据库会话中自动执行初始SQL查询。最新DBeaver企业版支持的全部数据库参见https://DBeaver.com/databases/。

2. NoSQL与BigData

DBeaver企业版具有以下NoSQL与BigData的扩展:

  • MongoDB
  • Couchbase
  • Amazon DynamoDB
  • Google Bigtable
  • InfluxDB
  • Apache Cassandra
  • Redis
  • Apache Hive

所有这些数据库都有SQL接口,可以像处理关系数据库一样使用它们。DBeaver 企业版支持这些数据库的所有原生数据类型和数据库结构浏览。

3. 一体式

DBeaver企业版包括以下扩展,而不需要安装任何其它插件:

  • Office格式支持
  • 矢量图形支持
  • SQL调试框架
  • 高级SSH算法

大多数流行的数据库驱动程序都包含在发行版中。为了使用Eclipse Marketplace实现高级安全性和方便安装第三方插件,提供了许多Eclipse扩展。

4. 高级安全性

  • 使用Kerberos或Active Directory身份验证与企业用户管理系统集成。
  • 将数据库密码保存在受密码保护的安全存储中,或使用本机操作系统密码加密存储。
  • 使用BouncyCastle高级安全算法通过SSH或SSL进行连接。

5. 数据查看和编辑

  • 多个数据视图以满足用户的各种需要,例如将图像内容(gif、png、jpeg、bmp)显示为图像。
  • 在专用空间内联编辑数据。
  • 方便数据导航。
  • 表内容或查询结果的自定义过滤器,包括基于单元格值的过滤。
  • 查询结果按列排序。
  • 应用过滤和排序导出数据。
  • 基于选定行生成SQL语句。
  • 所选列的基本统计信息。

6. 模拟数据生成器

可以为表生成随机数据(或“模拟”数据)。企业版包括基本和高级数据生成器,包括:灵活的数字生成器、随机字符串、姓名、地址、信用卡、域名和IP地址、自定义正则表达式等。

7. SQL编辑器

  • 将脚本组织到文件夹中并为特定脚本重新分配数据库连接。
  • 由与脚本关联的数据库确定的SQL语法突出显示。
  • 支持不同数据库的不同保留关键字集和系统功能。
  • 脚本的导入和导出。

8. 简单友好的图形化界面

  • 可以在不了解SQL的情况下构造复杂的SQL查询。
  • 可视化生成表联接/过滤/排序。
  • 在可视化模式下打开现有的SQL查询,编辑并保存它们。
  • 随时执行可视化构造的查询并获得结果。
  • 可视化分析复杂的SQL查询。

9. 元数据管理

  • 提供数据库连接树,其元数据结构可向下到最低级别:表、视图、列、索引、过程、触发器、存储实体(表空间、分区)和安全实体(用户、角色)。
  • 根据数据库驱动程序的功能修改大多数元数据实体的能力。
  • 数据库对象DDL的显示及按对象结构生成标准sql92ddl。
  • 能够编辑/重命名/删除连接和大多数数据库对象。
  • 全局和本地过滤器,能够按名称筛选数据库对象。

10. 数据传输 将数据导出到一个文件或另一个数据库表,如果目标表不存在,可以选择创建该表。支持的文件格式包括:CSV、HTML、XML、JSON、XLS、XLSX。也可以直接从CSV文件将数据导入数据库表,在向导中设置列映射和数据类型。可将数据传输配置另存为任务并随时运行。

11. ER图

为db/schema(包含所有表)或单个表(包含所有引用/引用表)自动生成ER图,可以自定义列的可见性。能将图表导出为以下格式:GIF、PNG、BMP、GraphML。

12. 数据和元数据搜索

  • 可以对所有选定表/视图进行全文数据搜索。
  • 数据库系统表中行的元数据搜索。
  • 能够设置精确的对象名或搜索掩码。

13.数据库结构比较 能够比较任意类型的几个数据库对象:表、模式、整个数据库等,并在HTML报表中显示比较结果。

最新DBeaver企业版功能特性参见https://DBeaver.com/features/。

二、下载与安装

与很多开源软件一样,DBeaver也提供社区版和企业版两种下载,社区版自由使用,而企业版是收费的,当然两者功能上必然存在差别,参见https://DBeaver.com/edition/。

本次安装DBeaver最新企业版,介质选择64位Windows平台的Zip包,官方下载地址为https://DBeaver.com/files/DBeaver-ee-latest-win32.win32.x86_64.zip。

DBeaver需要Java 1.8或更高版本,因此首先需要确认Windows已经安装了Java(OpenJDK11)。然后解压DBeaver zip安装包,并运行dbeaver.exe文件即可。解压缩目录为D:dbeaver。已经在Windows的hosts文件中配置好域名解析,能够通过主机名访问CDH集群。

三、连接hive

本节说明用DBeaver连接CDH 6.3.1中的hive服务。

1. 在Cloudera Manager中确认hive实例所在主机,如图1所示。

图1

本例中HiveServer2部署在node1主机上。

2. 从CDH所在主机(任一)下载hive jdbc jar文件。

代码语言:javascript复制
sz /opt/cloudera/parcels/CDH-6.3.1-1.cdh6.3.1.p0.1470567/jars/hive-jdbc-2.1.1-cdh6.3.1-standalone.jar

3. 将hive-jdbc-2.1.1-cdh6.3.1-standalone.jar文件复制到D:dbeaverdrivershive目录中。

4. 运行D:dbeaverdbeaver.exe打开DBeaver,点击左上角的“新建连接”,如图2所示。

图2

5. 在“选择连接类型”窗口中选择“Hadoop / BigData” -> “Apache Hive”,如图3所示。

图3

6. 点击“Next”,在“主机”中输入“node1”,然后点击“编辑驱动设置”按钮,如图4所示。

图4

7. 在打开的“编辑驱动'Apache Hive'”窗口中,点击“添加文件”按钮,选择D:dbeaverdrivershivehive-jdbc-2.1.1-cdh6.3.1-standalone.jar文件,然后点击“找到类”按钮,选择“org.apache.hive.jdbc.HiveDriver”,如图5所示。然后点击“OK”按钮关闭窗口。

图5

8. 点击“测试连接(T)...”按钮,如图6所示,显示已经正常连接到hive。

图6

9. 点击“Finish”关闭窗口,左侧连接树中出现“node1”,在其上点击右键选择“重命名”,如图7所示。然后输入“CDH631_hive211”,点击“OK”,关闭对话框。

图7

至此建立好了hive连接。

四、连接impala

本节说明用DBeaver连接CDH 6.3.1中的impala服务。

1. 在Cloudera Manager中确认impala实例所在主机,如图8所示。

图8

本例中Impala Daemon部署在node1、node2、node3三台主机上,我们连接node1。

2. 下载impala JDBC文件 下载地址为https://www.cloudera.com/downloads/connectors/impala/jdbc/2-6-17.html。

3. 将下载包中的ImpalaJDBC42.jar文件复制到D:dbeaverdrivers目录中。

4. 运行D:dbeaverdbeaver.exe打开DBeaver,点击左上角的“新建连接”。

5. 在“选择连接类型”窗口中选择“Hadoop / BigData” -> “Cloudera Impala”。

6. 点击“Next”,在“主机”中输入“node1”,在“数据库/模式”中输入“default”,然后点击“编辑驱动设置”按钮。

7. 在打开的“编辑驱动'Cloudera Impala'”窗口中,点击“添加文件”按钮,选择D:dbeaverdriversImpalaJDBC42.jar文件,然后点击“找到类”按钮,选择“com.cloudera.impala.jdbc.Driver”,如图9所示。然后点击“OK”按钮关闭窗口。

图9

8. 点击“测试连接(T)...”按钮,如图10所示,显示已经正常连接到impala。

图10

9. 点击“Finish”关闭窗口,左侧连接树中出现“default”,在其上点击右键选择“重命名”。然后输入“CDH631_impala320”,点击“OK”,关闭对话框。

至此建立好了impala连接。

五、连接phoenix

本节说明用DBeaver连接CDH 6.3.1中的phoenix服务。CDH本身没有集成phoenix,关于如何在CDH 6.3中安装phoenix服务,参见https://wxy0327.blog.csdn.net/article/details/104766465。

1. 在Cloudera Manager中确认phoenix实例所在主机,如图11所示。

图11

本例中Query Server部署在node1、node2、node3、manager四台主机上,我们连接node1。

2. 在Cloudera Manager中下载Hbase客户端配置文件,如图12所示。

图12

3. 从CDH所在主机(任一)下载phoenix client jar文件。

代码语言:javascript复制
sz /opt/cloudera/parcels/PHOENIX-5.0.0-cdh6.2.0.p0.1308267/lib/phoenix/phoenix-5.0.0-cdh6.2.0-client.jar

4. 用WinRAR打开phoenix-5.0.0-cdh6.2.0-client.jar文件,将第2步中下载的hbase-site.xml文件添加到phoenix-5.0.0-cdh6.2.0-client.jar中,如图13所示。

图13

5. 将phoenix-5.0.0-cdh6.2.0-client.jar文件复制到D:dbeaverdrivers目录中。

6. 运行D:dbeaverdbeaver.exe打开DBeaver,点击左上角的“新建连接”。

7. 在“选择连接类型”窗口中选择“Hadoop / BigData” -> “Apache Phoenix”。

8. 点击“Next”,在“主机”中输入“node1”,然后点击“编辑驱动设置”按钮。

9. 在打开的“编辑驱动'Apache Phoenix'”窗口中,点击“添加文件”按钮,选择D:dbeaverdriversphoenix-5.0.0-cdh6.2.0-client.jar文件,然后点击“找到类”按钮,选择“org.apache.phoenix.jdbc.PhoenixDriver”,如图14所示。然后点击“OK”按钮关闭窗口。

图14

10. 点击“测试连接(T)...”按钮,如图15所示,显示已经正常连接到phoenix。

图15

11. 点击“Finish”关闭窗口,左侧连接树中出现“node1”,在其上点击右键选择“重命名”。然后输入“CDH631_phoenix500”,点击“OK”,关闭对话框。

至此建立好了phoenix连接。

六、连接HAWQ

关于在CDH 6.3.1上安装HAWQ 2.4.0,参见https://wxy0327.blog.csdn.net/article/details/104845576。

1. 配置允许连接至HAWQ (1)编辑HAWQ Master主机上的/opt/gpadmin/hawq-data-directory/masterdd/pg_hba.conf文件,如下添加如下一行并保存:

代码语言:javascript复制
host  all     gpadmin    0.0.0.0/0    password

(2)重载pg_hba.conf文件使配置修改生效

代码语言:javascript复制
hawq stop cluster -u -M fast

(3)修改gpadmin角色的密码

代码语言:javascript复制
[gpadmin@manager/opt/gpadmin]$psql -d postgres
psql (8.2.15)
Type "help" for help.

postgres=# alter role gpadmin with password '123456';
ALTER ROLE
postgres=# 

关于HAWQ连接管理的详细说明,参见https://blog.csdn.net/wzy0623/article/details/60141550。

2. 运行D:dbeaverdbeaver.exe打开DBeaver,点击左上角的“新建连接”。

3. 在“选择连接类型”窗口中选择“Analytical” -> “Greenplum”。

4. 点击“Next”,在“主机”中输入HAWQ Master主机IP,本例为“172.16.1.124”。“数据库”为“postgres”,“用户名”为“gpadmin”,“密码”为“123456”,如图16所示。

图16

5. 然后点击“编辑驱动设置”按钮,在对话框中点击“找到类”按钮,选择“org.postgresql.Driver”,如图17所示。然后点击“OK”按钮关闭窗口。

图17

6. 点击“测试连接(T)...”按钮,如图18所示,显示已经正常连接到HAWQ。

图18

7. 点击“Finish”关闭窗口,左侧连接树中出现“postgres”,在其上点击右键选择“重命名”。然后输入“HAWQ240”,点击“OK”,关闭对话框。

至此建立好了HAWQ连接。

七、连接redis

1. 运行D:dbeaverdbeaver.exe打开DBeaver,点击左上角的“新建连接”。

2. 在“选择连接类型”窗口中选择“NoSQL” -> “Redis”。

3. 点击“Next”,在“主机”中输入redis主机IP,本例为“172.16.1.127”。“Password”为“123456”,如图19所示。

图19

4. 点击“测试连接(T)...”按钮,如图20所示,显示已经正常连接到redis。

图20

5. 点击“Finish”关闭窗口,左侧连接树中出现“172.16.1.127”,在其上点击右键选择“重命名”。然后输入“redis503”,点击“OK”,关闭对话框。

至此建立好了redis连接。

0 人点赞