[Experimental] Kudu catalog
StarRocks 从 3.3 版本开始支持 Kudu Catalog。
Kudu Catalog 是一种 External Catalog。通过 Kudu Catalog,您不需要执行数据导入就可以直接查询 Apache Kudu 里的数据。
此外,您还可以基于 Kudu Catalog ,结合 INSERT INTO 能力来实现数据转换和导入。
为保证正常访问 Kudu 内的数据,StarRocks 集群必须集成以下关键组件:
- 元数据服务。当前支持的元数据服务包括 Kudu 文件系统 (File System)、Hive Metastore(以下简称 HMS)。
使用说明
Kudu Catalog 仅支持查询 Kudu 数据,不 支持针对 Kudu 的写/删操作。
准备工作
在创建 Kudu Catalog 之前,请确保 StarRocks 集群能够正常访问 Kudu 集群及元数据服务。
注意
如果查询时因为域名无法识别 (Unknown Host) 而发生访问失败,您需要将 KUDU 集群中各节点的主机名及 IP 地址之间的映射关系配置到 /etc/hosts 路径中。
Kerberos 认证
如果 KUDU 集群或 HMS 开启了 Kerberos 认证,则需要在 StarRocks 集群中做如下配置:
- 在每个 FE 和 每个 BE 上执行
kinit -kt keytab_path principal
命令,从 Key Distribution Center (KDC) 获取到 Ticket Granting Ticket (TGT)。执行命令的用户必须拥有访问 HMS 和 KUDU 的权限。注意,使用该命令访问 KDC 具有时效性,因此需要使用 cron 定期执行该命令。 - 在每个 FE 的 $FE_HOME/conf/fe.conf 文件和每个 BE 的 $BE_HOME/conf/be.conf 文件中添加
JAVA_OPTS="-Djava.security.krb5.conf=/etc/krb5.conf"
。其中,/etc/krb5.conf
是 krb5.conf 文件的路径,可以根据文件的实际路径进行修改。