
# 使用DBeaver访问MRS HetuEngine
#### 应用场景
DBeaver是一个SQL客户端和数据库管理工具。对于关系数据库，使用JDBC API通过JDBC驱动程序与数据库交互。对于其他数据库（NoSQL），使用专有数据库驱动程序。
本章节以DBeaver 7.2.0版本为例，讲解如何使用DBeaver访问MRS HetuEngine。
#### 方案架构
出于管理和信息收集的需要，企业内部会存储海量数据，包括数目众多的各种数据库、数据仓库等，此时会面临数据源种类繁多、数据集结构化混合、相关数据存放分散等困境，导致跨源查询开发成本高，跨源复杂查询耗时长。
HetuEngine提供了统一标准SQL实现跨源协同分析，简化跨源分析操作。
图1DBeaver访问MRS HetuEngine   
![](https://support.huaweicloud.com/bestpractice-mrs/zh-cn_image_0000002125087461.png "点击放大")
#### 约束与限制
- 已安装DBeaver 7.2.0版本。DBeaver软件下载链接：<https://dbeaver.io/files/7.2.0/> 。
- 适用于LTS版的MRS 3.1.2及以后版本集群。
 
#### 步骤一：创建MRS集群和计算实例
1. 创建MRS集群。 创建并购买一个包含HetuEngine组件的MRS集群，详情可参考[创建MRS集群](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0513.html)。
   
2. 创建**hetu_user** 用户。
   在集群中创建"人机"用户，如**hetu_user** ，可参考[创建HetuEngine用户](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_1714.html)。启用Ranger鉴权的集群需根据业务需求为该**hetu_user** 添加Ranger权限，可参考[添加HetuEngine的Ranger访问权限策略](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_1862.html)。
   
3. 创建HetuEngine计算实例。 创建计算实例并确保运行正常，可参考[创建HetuEngine计算实例](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_1731.html)。
   
 
 #### 步骤二：获取JDBC jar包并配置主机映射
1. 下载HetuEngine客户端获取JDBC jar包。
   1. 登录FusionInsight Manager。
   
   2. 选择"集群 \> 服务 \> HetuEngine \> 概览"。
   
   3. 在页面右上角，选择"更多 \> 下载客户端"，根据界面提示下载"完整客户端"文件到本地。
   
   4. 解压HetuEngine客户端压缩包文件"FusionInsight_Cluster_*集群ID* _ HetuEngine_Client.tar"获取jdbc文件，并存放在本地，例如"D:\\test"。
      ![](https://support.huaweicloud.com/bestpractice-mrs/public_sys-resources/note_3.0-zh-cn.png)
      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
   ![](https://support.huaweicloud.com/bestpractice-mrs/public_sys-resources/note_3.0-zh-cn.png)
   Windows本地hosts文件存放路径举例："C:\\Windows\\System32\\drivers\\etc"。
   
 
#### 步骤三：在DBeaver配置访问HetuEngine参数
1. 打开DBeaver，选择"数据库 \> 新建连接"，在"ALL"中搜索"PrestoSQL"并打开PrestoSQL。
2. 单击"编辑驱动设置"，参考下表信息设置相关参数。 在跨网段的情况下无法使用HSBroker方式访问HetuEngine，请通过HSFabric方式访问。
    表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    |
      
   ![](https://support.huaweicloud.com/bestpractice-mrs/public_sys-resources/note_3.0-zh-cn.png)
   - 获取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安全模式驱动设置   
   ![](https://support.huaweicloud.com/bestpractice-mrs/zh-cn_image_0000002089248402.png "点击放大") 
5. 连接设置。
   - 安全模式（开启Kerberos认证的集群）：
     在创建新连接页面的"常规"页签，输入[2]中创建的用户名和密码，单击"测试链接"，连接成功后，单击"确定"，再单击"完成"。可单击"连接详情（名称、类型...）"修改连接名称。
     图3安全模式"常规"参数设置   
     ![](https://support.huaweicloud.com/bestpractice-mrs/zh-cn_image_0000002124808109.png "点击放大") 
   
   - 普通模式（未开启Kerberos认证的集群）： 在创建新连接页面的"驱动属性"配置如下参数，"user"为[2]中创建的用户。单击"测试链接"，连接成功后，单击"确定"，再单击"完成"。可单击"连接详情（名称、类型...）"修改连接名称。
     图4普通模式"驱动属性"参数设置   
     ![](https://support.huaweicloud.com/bestpractice-mrs/zh-cn_image_0000002089088610.png "点击放大") 
    
6. 连接成功后进入下图所示页面。
   图5连接成功   
   ![](https://support.huaweicloud.com/bestpractice-mrs/zh-cn_image_0000002124687897.png "点击放大") 
 
