使用DBeaver访问HetuEngine
本章节以DBeaver 6.3.5版本为例,讲解如何操作HetuEngine。
前提条件
- DBeaver已正常安装。DBeaver软件下载链接:https://dbeaver.io/files/6.3.5/ 。
目前支持DBeaver 5.x版本和6.x版本。
- 已在集群中创建“人机”用户,用户的创建请参考创建HetuEngine用户。
操作步骤
方法一:使用ZooKeeper方式访问HetuEngine。
- 下载HetuEngine客户端。
- 登录FusionInsight Manager。
- 选择“集群 > 服务 > HetuEngine > 概览”。
- 在页面右上角,选择“更多 > 下载客户端”,根据界面提示下载“完整客户端”文件到本地。
- 解压HetuEngine客户端压缩包文件“FusionInsight_Cluster_集群ID_ HetuEngine_Client.tar”获取jdbc文件,并存放在本地,例如“D:\test”。
jdbc文件获取方法:
在“FusionInsight_Cluster_集群ID_HetuEngine_ClientConfig\HetuEngine\xxx\”路径下获取“hetu-jdbc-*.jar”文件。
备注:xxx为“arm”或“x86”。
- 下载HetuEngine用户的Kerberos认证文件。
- 登录FusionInsight Manager。
- 选择“系统 > 权限 > 用户”。
- 选择对应的HetuEngine用户,在“操作”列中选择“更多 > 下载认证凭据”。
- 从下载的文件中解压后获取“user.keytab”和“krb5.conf”文件。
- 以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; };
- 在本地hosts文件添加主机映射。添加内容格式为:
主机IP 主机名
例如:192.168.23.221 192-168-23-221
Windows本地hosts文件存放路径举例:“C:\Windows\System32\drivers\etc”。
- 配置DBeaver启动文件“dbeaver.ini”。
- 在文件中添加java路径。
-VM C:\Program Files\Java\jdk1.8.0_131\bin
- 参考如下配置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”文件中新增的配置项生效。
- 在文件中添加java路径。
- 打开DBeaver,在“数据库导航”中单击右键,单击“新建连接”。
- 在搜索框中搜索“Presto”,并双击打开Presto图标。
- 单击“编辑驱动设置”。
- 在“类名”中设置“io.prestosql.jdbc.PrestoDriver”。
- 在“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
- 单击“添加文件”,选中1.d获取到的jdbc文件。
- 单击“连接属性”,在“连接属性”的面板上单击右键并选中“添加新属性”,参考表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所示。
- 单击“确定”。
- 单击“完成”,成功连接HetuEngine。
如果在查看表的时候提示没有权限,可参考配置表、列和数据库的权限配置权限。
方法二:使用HSBroker方式访问HetuEngine。
- 请参考1获取JDBC jar包。
- 打开DBeaver,选择“数据库 > 新建连接”,搜索“PrestoSQL”并打开PrestoSQL。
- 单击“编辑驱动设置”,参考下表信息设置相关参数。
表2 驱动设置信息 参数名
参数值
备注
类名
io.prestosql.jdbc.PrestoDriver
/
URL模板
HetuEngine的URL
URL格式:
jdbc:presto://<HSBrokerIP1:port1>,<HSBrokerIP2:port2>,<HSBrokerIP3:port3>/hive/default?serviceDiscoveryMode=hsbroker
- 单击“添加文件”,上传1中获取的JDBC驱动包。
- 单击“找到类”,自动获取驱动类,单击“确定”完成驱动设置,如图2所示。
- 在创建新连接页面的常规页签,输入用户名和密码,单击“测试连接”,连接成功后,单击“确定”,再单击“完成”。
图3 创建新连接
- 连接成功后进入如图4所示页面。