配置Elasticsearch数据源
操作场景
本章节指导用户在HSConsole界面添加Elasticsearch数据源。
- 如果对接的Elasticsearch数据源开启了Ranger鉴权,需要将从HetuEngine访问Elasticsearch数据源的用户在数据源集群的Ranger中进行赋权。
- HetuEngine对ElasticSearch数据源的元数据信息大小写不敏感,只能正确处理小写格式的元数据信息。
操作步骤
- 获取Elasticsearch数据源的“ca.crt”文件。
- 登录Elasticsearch数据源所在集群的FusionInsight Manager页面。
- 在“主页”右上方单击“下载客户端”,根据界面提示下载“完整客户端”文件至本地。
- 解压下载的客户端文件,获取“FusionInsight_Cluster_1_Services_ClientConfig”路径下的“ca.crt”文件。
- 生成Elasticsearch数据源开启TLS安全后的JKS格式的keystore文件。
- 使用HetuEngine管理员用户登录FusionInsight Manager,选择“集群 > 服务 > HetuEngine”,进入HetuEngine服务页面。
- 在概览页签下的“基本信息”区域,单击“HSConsole WebUI”后的链接,进入HSConsole界面。
- 选择“数据源”,单击“添加数据源”。在“添加数据源”页面填写参数。
- 配置“基本配置”,填写数据源名称,选择数据源类型“Elasticsearch”。
- 配置“Elasticsearch配置”,参数配置请参考表1。
表1 Elasticsearch配置 参数
描述
取值样例
驱动
默认为“elasticsearch”。
elasticsearch
主机IP
Elasticsearch主机的IP地址。
登录FusionInsight Manager,选择“集群 > 服务 > Elasticsearch > 实例”,在实例列表可查看EsNode节点所在的主机IP地址。随机选取一个IP地址即可,目前仅支持填写一个IP地址。
- IPV4:10.10.10.11
- IPV6:[10:10::10:11]
HTTP端口
Elasticsearch的HTTP端口,默认为24100。
24100
schema名称
HetuEngine生成的默认schema的名称。
default
安全认证机制
开启安全模式后默认为PASSWORD。
PASSWORD
用户名
开启安全模式时填写此参数。
连接Elasticsearch认证的用户名。
根据连接Elasticsearch的用户名修改。
密码
开启安全模式时填写此参数。
连接Elasticsearch认证的密码。
根据连接Elasticsearch的用户名密码修改。
开启TLS
是否在Elasticsearch开启TLS。
是
Keystore文件
开启安全模式时填写此参数。
开启TLS时用到的keystore文件,在本地选择2生成的“keystore.jks”文件。
keystore.jks
Keystore密码
开启安全模式时填写此参数,为2.b中填写的自定义keystore.jks文件密码。
开启TLS时用到keystore文件的密码。
-
- (可选)自定义配置。
- 单击“增加”可以增加自定义配置参数。配置ElasticSearch数据源自定义参数,参考表2。
- 单击“删除”可以删除已增加的自定义配置参数。
- 单击“确定”。
- 登录集群客户端所在节点,执行以下命令,切换到客户端安装目录并认证用户。
cd /opt/client
source bigdata_env
kinit HetuEngine组件操作用户 (普通模式集群跳过)
- 执行以下命令,登录数据源的catalog。
hetu-cli --catalog 数据源名称 --schema 数据库名
例如执行以下命令:
hetu-cli --catalog elasticsearch_1 --schema default
- 执行以下命令,可正常查看数据库表信息或不报错即表示连接成功。
show tables;
数据类型映射
ElasticSearch数据类型 |
HetuEngine数据类型 |
---|---|
boolean |
BOOLEAN |
binary |
VARBINARY |
byte |
TINYINT |
short |
SMALLINT |
integer |
INTEGER |
long |
BIGINT |
float |
REAL |
double |
DOUBLE |
keyword |
VARCHAR |
text |
VARCHAR |
ip |
IPADDRESS |
性能优化
支持使用查询下推功能,提高查询速度。
约束
- HetuEngine支持对接ElasticSearch操作的SQL语法:SHOW CATALOGS/SCHEMAS/TABLES、SELECT、DROP TABLE、DELETE、UPDATE、DESCRIBE。
- 不支持如下语法:CREATE SCHEMA、CREATE TABLE、CREATE VIEW、ALTER TABLE、ALTER VIEW。
- 不支持查询Elasticsearch中有重复列名的表,如列名为“name”和“NAME”。
- 不推荐查询Elasticsearch表名中含有特殊字符的表,如“-”,“.”等,若需要加入特殊字符的表,需要在查询时将包含特殊字符的表用双引号表达。