更新时间:2022-12-14 GMT+08:00

使用DBeaver访问HetuEngine

本章节以DBeaver 6.3.5版本为例,讲解如何操作HetuEngine

前提条件

操作步骤

方法一:使用ZooKeeper方式访问HetuEngine

  1. 下载HetuEngine客户端。

    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. 下载HetuEngine用户的Kerberos认证文件。

    1. 登录FusionInsight Manager。
    2. 选择“系统 > 权限 > 用户”。
    3. 选择对应的HetuEngine用户,在“操作”列中选择“更多 > 下载认证凭据”。
    4. 从下载的文件中解压后获取“user.keytab”和“krb5.conf”文件。

  3. omm用户登录集群中部署了HSBroker角色的节点,进入“${BIGDATA_HOME}/FusionInsight_Hetu_8.1.2.2/xxx_HSBroker/etc/”目录,下载“jaas-zk.conf”“hetuserver.jks”文件到本地。

    此处版本号8.1.2.2为示例,具体以实际环境的版本号为准。

    参考如下修改“jaas-zk.conf”文件,“keyTab”为访问HetuEngine用户的keytab文件路径,“principal”为“访问HetuEngine的用户名@域名大写.COM” 。

    Client {
    com.sun.security.auth.module.Krb5LoginModule required
    useKeyTab=true
    keyTab="D:\\tmp\\user.keytab"
    principal="admintest@HADOOP.COM"
    useTicketCache=false
    storeKey=true
    debug=true;
    };

  4. 在本地hosts文件添加主机映射。添加内容格式为:

    主机IP 主机名

    例如:192.168.23.221 192-168-23-221

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

  5. 配置DBeaver启动文件“dbeaver.ini”。

    1. 在文件中添加java路径。
      -VM
      C:\Program Files\Java\jdk1.8.0_131\bin
    2. 参考如下配置zookeeper、kerberos参数,相关文件路径替换为实际路径。
      -Dsun.security.krb5.debug=true
      -Djava.security.auth.login.config=D:\tmp\jaas-zk.conf
      -Dzookeeper.sasl.clientconfig=Client
      -Dzookeeper.auth.type=kerberos
      -Djava.security.krb5.conf=D:\tmp\krb5.conf
      • 不支持GMT格林尼治时间,若当前时区为GMT+,“dbeaver.ini”文件中需要增加-Duser.timezone=UTC参数项将时区修改为UTC时区。
      • 若已经打开DBeaver软件,需要重启DBeaver软件使“dbeaver.ini”文件中新增的配置项生效。

  6. 打开DBeaver,在“数据库导航”中单击右键,单击“新建连接”
  7. 在搜索框中搜索“Presto”,并双击打开Presto图标。
  8. 单击“编辑驱动设置”。
  9. “类名”中设置“io.prestosql.jdbc.PrestoDriver”。
  10. “URL模板”编辑框中输入HetuEngine的URL。

    URL格式:jdbc:presto://ZooKeeper服务所在节点1 IP:2181,ZooKeeper服务所在节点2 IP:2181,ZooKeeper服务所在节点3 IP:2181/hive/default?serviceDiscoveryMode=zooKeeper&zooKeeperNamespace=hsbroker&zooKeeperServerPrincipal=zookeeper/hadoop.hadoop.com

    例如:jdbc:presto://192.168.8.37:2181,192.168.8.38:2181,192.168.8.39:2181/hive/default?serviceDiscoveryMode=zooKeeper&zooKeeperNamespace=hsbroker&zooKeeperServerPrincipal=zookeeper/hadoop.hadoop.com

  11. 单击“添加文件”,选中1.d获取到的jdbc文件。
  12. 单击“连接属性”,在“连接属性”的面板上单击右键并选中“添加新属性”,参考表1设置参数。

    表1 属性信息

    参数名称

    取值示例

    KerberosPrincipal

    zhangsan

    说明:

    在集群中创建的“人机”用户,请参考创建HetuEngine用户

    KerberosKeytabPath

    D:\\user.keytab

    说明:

    使用KeyTab方式登录时需要配置该参数。

    KerberosRemoteServiceName

    HTTP

    SSL

    true

    deploymentMode

    on_yarn

    tenant

    default

    说明:

    用户在集群上配置所属的租户。

    user

    zhangsan

    说明:

    在集群中创建“人机”用户,请参考创建HetuEngine用户

    password

    zhangsan@##65331853

    说明:
    • 在集群中创建“人机”用户时所设置的密码,请参考创建HetuEngine用户
    • 使用用户名密码方式登录时需要配置该参数。

    KerberosConfigPath

    D:\\krb5.conf

    SSLTrustStorePath

    D:\\hetuserver.jks

    参数设置完毕后的效果示例如图1所示。

    图1 参数设置效果示例

  13. 单击“确定”。
  14. 单击“完成”,成功连接HetuEngine

    如果在查看表的时候提示没有权限,可参考配置表、列和数据库的权限配置权限。

方法二:使用HSBroker方式访问HetuEngine

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

    表2 驱动设置信息

    参数名

    参数值

    备注

    类名

    io.prestosql.jdbc.PrestoDriver

    /

    URL模板

    HetuEngine的URL

    URL格式:

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

  4. 单击“添加文件”,上传1中获取的JDBC驱动包。
  5. 单击“找到类”,自动获取驱动类,单击“确定”完成驱动设置,如图2所示。

    图2 驱动设置

  6. 在创建新连接页面的常规页签,输入用户名和密码,单击“测试连接”,连接成功后,单击“确定”,再单击“完成”。

    图3 创建新连接

  7. 连接成功后进入如图4所示页面。

    图4 连接成功