文档首页/ MapReduce服务 MRS/ 最佳实践/ 生态组件对接/ 使用DBeaver访问MRS HetuEngine
更新时间:2024-12-17 GMT+08:00

使用DBeaver访问MRS HetuEngine

应用场景

DBeaver是一个SQL客户端和数据库管理工具。对于关系数据库,使用JDBC API通过JDBC驱动程序与数据库交互。对于其他数据库(NoSQL),使用专有数据库驱动程序。

本章节以DBeaver 7.2.0版本为例,讲解如何使用DBeaver访问MRS HetuEngine

方案架构

出于管理和信息收集的需要,企业内部会存储海量数据,包括数目众多的各种数据库、数据仓库等,此时会面临数据源种类繁多、数据集结构化混合、相关数据存放分散等困境,导致跨源查询开发成本高,跨源复杂查询耗时长。

HetuEngine提供了统一标准SQL实现跨源协同分析,简化跨源分析操作。

图1 DBeaver访问MRS HetuEngine

约束与限制

步骤一:创建MRS集群和计算实例

  1. 创建MRS集群。

    创建并购买一个包含HetuEngine组件的MRS集群,详情可参考创建MRS集群

  2. 创建hetu_user用户。

    在集群中创建“人机”用户,如hetu_user,可参考创建HetuEngine用户。启用Ranger鉴权的集群需根据业务需求为该hetu_user添加Ranger权限,可参考添加HetuEngine的Ranger访问权限策略

  3. 创建HetuEngine计算实例。

    创建计算实例并确保运行正常,可参考创建HetuEngine计算实例

步骤二:获取JDBC jar包并配置主机映射

  1. 下载HetuEngine客户端获取JDBC jar包。
    1. 登录FusionInsight Manager。
    2. 选择“集群 > 服务 > HetuEngine > 概览”。
    3. 在页面右上角,选择“更多 > 下载客户端”,根据界面提示下载“完整客户端”文件到本地。
    4. 解压HetuEngine客户端压缩包文件“FusionInsight_Cluster_集群ID_ HetuEngine_Client.tar”获取jdbc文件,并存放在本地,例如“D:\test”。

      jdbc文件获取方法:

      在“FusionInsight_Cluster_集群ID_HetuEngine_ClientConfig\HetuEngine\xxx\”路径下解压获取“hetu-jdbc-*.jar”文件。

      备注:xxx为“arm”或“x86”。

  2. 在本地hosts文件添加主机映射。

    根据使用HSFabric方式或HSBroker方式添加对应实例所在主机映射,格式为:主机IP 主机名

    例如:192.168.42.90 server-2110081635-0001

    Windows本地hosts文件存放路径举例:“C:\Windows\System32\drivers\etc”。

步骤三:在DBeaver配置访问HetuEngine参数

  1. 打开DBeaver,选择“数据库 > 新建连接”,在“ALL”中搜索“PrestoSQL”并打开PrestoSQL。
  2. 单击“编辑驱动设置”,参考下表信息设置相关参数。
    表1 驱动设置信息

    参数名

    参数值

    类名

    io.prestosql.jdbc.PrestoDriver

    URL模板

    • 通过HSFabric方式访问HetuEngine

      jdbc:presto://<HSFabricIP1:port1>,<HSFabricIP2:port2>,<HSFabricIP3:port3>/hive/default?serviceDiscoveryMode=hsfabric

      示例:

      jdbc:presto://192.168.42.90:29902,192.168.42.91:29902,192.168.42.92:29902/hive/default?serviceDiscoveryMode=hsfabric

    • 通过HSBroker方式访问HetuEngine

      jdbc:presto://<HSBrokerIP1:port1>,<HSBrokerIP2:port2>,<HSBrokerIP3:port3>/hive/default?serviceDiscoveryMode=hsbroker

      示例:

      jdbc:presto://192.168.42.90:29860,192.168.42.91:29860,192.168.42.92:29860/hive/default?serviceDiscoveryMode=hsbroker

    • 获取HSFabric、HSBroker节点IP及端口号:
      1. 登录FusionInsight Manager。
      2. 选择“集群 > 服务 > HetuEngine > 实例”,获取HSFabric或HSBroker所有实例的业务IP,可选择一个或多个正常状态的进行连接。
      3. 获取端口号,选择“集群 > 服务 > HetuEngine > 配置 > 全部配置”:

        搜索“gateway.port”,获取HSFabric的端口号,安全模式默认为29902,普通模式默认29903;

        搜索“server.port”,获取HSBroker的端口号,安全模式默认为29860,普通模式默认29861;

    • 如果连接不成功,请关闭代理重试。
  3. 单击“添加文件”,上传步骤二:获取JDBC jar包并配置主机映射中获取的JDBC驱动包。
  4. 单击“找到类”,自动获取驱动类,单击“确定”完成驱动设置,如下图所示。如果“库”中存在“io.prestosql:presto-jdbc:RELEASE”,单击“找到类”前需将其删掉。
    图2 安全模式驱动设置
  5. 连接设置。
    • 安全模式(开启Kerberos认证的集群):
      在创建新连接页面的“常规”页签,输入2中创建的用户名和密码,单击“测试链接”,连接成功后,单击“确定”,再单击“完成”。可单击“连接详情(名称、类型...)”修改连接名称。
      图3 安全模式“常规”参数设置
    • 普通模式(未开启Kerberos认证的集群):

      在创建新连接页面的“驱动属性”配置如下参数,“user”为2中创建的用户。单击“测试链接”,连接成功后,单击“确定”,再单击“完成”。可单击“连接详情(名称、类型...)”修改连接名称。

      图4 普通模式“驱动属性”参数设置
  6. 连接成功后进入下图所示页面。
    图5 连接成功