友情链接
社区版
社区开发版
本篇文章将详细介绍用户在下载安装好社区版/社区开发版或企业版TDH后如何连接 Inceptor 及 ArgoDB 数据库。
Transwarp Inceptor及ArgoDB支持通过 Beeline、应用程序、外部工具等多种方式连接
a. 通过 Beeline 命令行连接 //通过命令行方式执行 SQL 命令,如创建数据库;
b. 通过 Waterdrop 客户端连接 //通过客户端界面化方式管理数据库,支持跨平台管理多种数据库(如Apache Hive);
c. 通过 JDBC/ODBC 连接 //支持标准的 JDBC/ODBC 接口,安装驱动后即可编写应用程序,读写ArgoDB 或 Inceptor中的数据。
d. 支持第三方使用标准JDBC/ODBC接口的工具连接 // 例如 Tableau 等
本文将重点介绍使用Beeline命令行以及使用数据库开发工具Waterdrop的连接方法,有关使用JDBC/ODBC的方式可参考如下连接:
ArgoDB、Inceptor 支持 LDAP(轻型目录访问协议)和 Kerberos 认证方式,可帮助您提升数据安全性。在连接数据库前,您可以通过下方步骤判断集群的认证方式。
以Inceptor为例
① 登录 Transwarp Manage 平台
② 在页面左侧,选择仪表盘-->集群
③ 单机Inceptor对应的 Qurak 服务
④ 单击‘配置’列表,搜索参数 hive.server2.authentication,确认是否开启了 LDAP 认证
值为 NONE:未开启 LDAP 认证
值为 LDAP:已开启 LDAP 认证
⑤ 单击‘安全’列表,查看是否开启了 Kerberos 认证
⑥ 如果上述认证均未开启时,则为免认证状态
如果开启了 LDAP/Kerberos 认证,作为运维管理人员,您可以通过 Guardian 创建用户并授权,具体操作,详见 Guardian使用手册。
ArgoDB/Inceptor通过 Quark Gateway 服务提供统一的 SQL 执行入口,连接数据库时,您需要提供 Quark Gateway服务的连接地址,如 IP 地址或主机名。
① 登录 Transwarp Manage 平台。
② 在左侧导航栏,单击仪表盘 --> 集群。
③ 找到并单击对应的 Quark 服务。
④ 在角色标签页,获取 Quark 服务对应的 IP 地址和主机名。
Beeline 是基于 SQLLine 的命令行客户端,它通过 JDBC 方式以 Thrift 协议连接至 Inceptor/ArgoDB 数据库,连接后即可执行 SQL 命令(如创建数据库)。
更多关于 Beeline 的使用介绍,见 Beeline 官方文档
注意:
社区版以及社区开发版下载客户端的方式不同,下方主要以2023.5版本的社区版为例,仅做参考,具体以各自手册中描述的内容为准。
社区版安装手册(含演示视频): V2024-5版本
TDH/Scope/StellarDB社区开发版安装手册(含演示视频): V2024-5版本
① 登录 Transwarp Manage 平台。
② 在页面右上角,选择 ⋮ > 下载客户端。选中要访问的集群及对应的服务(至少包含 Quark 服务),然后单击向右箭头
③ 单击确定,客户端将开始自动下载
注:如果修改了集群中服务的配置(例如 Kerberos 认证从关闭设置为开启),则需要重新下载客户端。
登录至该机器,进入客户端上传到的目录,执行下述命令解压文件
tar -xvf tdh-client.tar
执行下述命令(需 root 权限),完成客户端初始化
source ./TDH-Client/init.sh
按照前情提要1中的方式确认认证方式,然后选择执行下述格式的命令,连接数据库。
beeline -u "jdbc:hive2://<server_ip/hostname>:<port>/<database_name>"
a. <server_ip/hostname>:Quark 服务的 IP 地址或主机名;
b. <port>:服务端口,默认为 10000;
c. <database_name>:要连接到的数据库;
示例如下:
beeline -u "jdbc:hive2://172.16.20.1:10000/default"
beeline -u "jdbc:hive2://<server_ip/hostname>:<port>/<database_name>" -n <username> -p <password>
a. <server_ip/hostname>:Quark 服务的 IP 地址或主机名。
b. <port>:服务端口,默认为 10000。
c. <database_name>:要连接到的数据库。
d. <username>:用于身份认证的用户名。
e. <password>:用户名对应的密码。
示例如下:
beeline -u "jdbc:hive2://172.18.130.24:10000/default" -n hive -p 123
1) 使用Kinit用户登陆
您需要先执行 kinit 用户名,输入密码以获取 Kerberos 票据授权票据(TGT),然后再执行下述连接命令。
beeline -u "jdbc:hive2://<server_ip/hostname>:<port>/<database_name>;principal=<princpal_name>"
a. <server_ip/hostname>:Quark 服务的 IP 地址或主机名。
b. <port>:服务端口,默认为 10000。
c. <database_name>:要连接到的数据库。
d. <princpal_name>:Server Principal 中的 User Name 固定为 hive,即本参数的格式为 hive/<Quark 服务所属设备的主机名>@TDH,例如 hive/idc3@TDH。
示例如下:
# 获取core_user_01用户对应的票据,随后输入该用户的密码。
kinit core_user_01
# 执行连接命令
beeline -u "jdbc:hive2://172.18.122.113:10000/default;principal=hive/ce113@TDH"
2)使用连接串(keytab)指定连接用户
使用该方式连接,需提前在Guardian Server界面下载Keytab文件,并上传至服务器端。
# beeline -u 'jdbc:hive2://<server_ip/hostname>:10000/default;principal=hive/<hostname>@TDH;kuser=hive@TDH;keytab=<keytab路径>;auth=kerberos;krb5conf=/etc/krb5.conf'
a. kuser=hive@TDH,这个参数真正指定了登陆的用户,这里是hive,此时hive登陆的密码使用keytab指定。
b. keytab=<keytab路径>,例如keytab=/root/hive.keytab,指定了使用/root/hive.keytab的keytab登陆hive用户。
c. auth=kerberos:指定了使用kerberos认证方式连接Inceptor。
d. krb5conf=/etc/krb5.conf;指定kdc配置文件。
示例:
3)使用连接串[password]指定连接的用户(社区版暂不支持)
密码需在Guardian Server界面,进入租户hive页面,重置密码获得。
# beeline -u 'jdbc:hive2://<hostname/IP>:10000/default;principal=hive/<hostname>@TDH;kuser=hive@TDH;password=<密码>;auth=kerberos;krb5conf=/etc/krb5.conf'
a. kuser=hive@TDH,这个参数真正指定了登陆的用户,这里是hive,此时hive登陆的密码使用passwar指定。
b. auth=kerberos:指定了使用kerberos认证方式连接Inceptor。
c. krb5conf=/etc/krb5.conf;指定kdc配置文件。
完成连接后,您可以执行所需的 SQL 命令,更多介绍,见 SQL 参考。
-- 查看数据库列表
SHOW DATABASES;
Ø Guardian Token 认证
当 Kerberos/LDAP 认证开启时,您也可以使用本方式,连接命令格式如下:
$ beeline -u "jdbc:hive2://<server_ip/hostname>:<port>/<database_name>;guardianToken=<access_token>"
关于 access_token 值的获取,请参见 Guardian 使用手册中的使用 Guardian Access Token 访问服务。
Ø CAS 认证
支持使用 CAS 进行单点登录/登出,此功能默认为开启,连接命令格式如下:
beeline -u "jdbc:hive2://<server_ip/hostname>:10000/<database_name>;casTicket=<cas_ticket>"
关于 cas_ticket 值的获取,请参见 Guardian 使用手册中的使用 CAS Ticket 访问服务。
HA(高可用)连接方式
如果您采用了高可用架构,您可以采用下述格式的命令进行连接(仅支持免认证和 LDAP 认证),从而使用完整的 HA 功能。
Ø 免认证
beeline -u jdbc:hive2://<server2_ip/hostname>:<port>, <server2_ip/hostname>:<port>/<database_name>
Ø LDAP 认证
beeline -u jdbc:hive2://<server2_ip/hostname>:<port>, <server2_ip/hostname>:<port>/<database_name> -n <username> -p <password>
Transwarp Waterdrop 是面向开发和数据库管理人员的管理工具,支持跨平台管理多种数据库(如 Apache Hive),帮助您实现界面化管理数据库、编辑/执行 SQL 语句等操作。
下方内容主要是1.0版本的链接教程,2.0版本可参考 Waterdrop 2.0 连接 Inceptor 教程
参考视频: 视频示例
下述步骤以 Windows 64 位操作系统为例,演示连接步骤。
注:社区版Waterdrop无需许可证,但仅支持社区版TDH使用;
在客户端电脑上,解压安装包并进入解压后的文件夹,以管理员身份运行该程序;
在弹出的对话框中,选择 inceptor > Inceptor Server,双击进入下一步;
Ø 免认证:保持为空,无需配置。
Ø LDAP 认证:选择为 LDAP,然后填写用户名和密码。
Ø Kerberos 认证:选择为 Kerberos,然后填写 Principle、用户 Principal,最后依次双击 Keytab 和 KBConf 对应的文本框,选择对应的配置文件。
为保障正常连接,您需要修改本地 hosts 文件,将 Quark 服务的 IP 地址与主机名进行关联。例如 Windows 平台下,该文件的路径为C:\Windows\System32\drivers\etc\hosts。 使用 HA:如果您采用了高可用架构,选中该复选框并填写 HA 地址和端口。
社区版Waterdrop对应的驱动版本号inceptor-sdk-transwarp-6.1.0-snapshot,如果不是请及时联系社区右下角社区版官方小助手领取正确驱动。
完成连接后,您可以双击对应的数据库获取表信息,也可以执行相关 SQL 命令。