添加GBase数据源
本章节适用于MRS 3.5.0及之后的版本。
HetuEngine支持配置GBase数据源实现对GBase数据源的接入与查询功能。本章节指导用户在集群的HSConsole界面添加GBase类型的JDBC数据源。
前提条件
- 数据源与HetuEngine集群节点网络互通。
- 在HetuEngine所在集群的所有节点的“/etc/hosts”文件中,添加待对接数据源所在集群的主机名称和对应的IP映射。
- 集群已启用Kerberos认证(安全模式)创建HetuEngine管理员用户,集群未启用Kerberos认证(普通模式)创建HetuEngine业务用户,并为其赋予HDFS管理员权限,即创建用户时需同时加入“hadoop”和“hadoopmanager”用户组,创建用户可参考创建HetuEngine权限角色。
- 已创建HetuEngine计算实例,可参考创建HetuEngine计算实例。
- 已获取GBase数据库所在的IP地址,端口号,用户名及密码。
HetuEngine对接GBase数据源约束
- HetuEngine支持对接GBase操作的SQL语法:SHOW CATALOGS/SCHEMAS/TABLES/COLUMNS、DESCRIBE、USE、SELECT表/视图。
- HetuEngine支持的GBase数据源的Schema和Table名称不区分大小写。
配置GBase数据源步骤
安装集群客户端
- 安装包含HetuEngine服务的集群客户端,例如安装目录为“/opt/hadoopclient”。
准备GBase驱动
- 从GBase官网获取GBase驱动文件,格式为“xxx.jar”,需为“gbase-connector-java-9.5.0.1-build1-bin.jar”及以后版本。
- 上传GBase驱动文件至HetuEngine所在集群。
可通过如下两种方式:
- 通过Manager界面上传至HDFS:
- 使用HetuEngine管理员用户登录FusionInsight Manager,选择“集群 > 服务 > HDFS”,进入HDFS服务页面。
- 在“概览”页签下的“基本信息”区域,单击“NameNode Web UI”后的链接,进入NameNode Web UI界面。
- 选择“Utilities > Browse the file system”,单击,创建“/user/hetuserver/fiber/extra_file/driver/gbase”目录。
- 进入“/user/hetuserver/fiber/extra_file/driver/gbase”目录,单击上传2获取的GBase驱动文件。
- 单击驱动文件所在行的“Permission”列的值,勾选“User”列的“Read”和“Write”,“Group”列的“Read”和“Other”列的“Read”,单击“Set”。
- 通过使用HDFS命令直接上传:
- 将获取的GBase驱动文件上传至HDFS服务客户端所在节点任意目录。
- 登录HDFS服务客户端所在节点,切换到客户端安装目录,如“/opt/hadoopclient”。
- 执行以下命令配置环境变量。
- 如果集群为安全模式,执行以下命令进行用户认证。普通模式集群无需执行用户认证。
根据回显提示输入密码。
- 执行如下命令创建目录“/user/hetuserver/fiber/extra_file/driver/gbase”,并上传2获取的GBase驱动,然后修改对应的权限。
hdfs dfs -mkdir -p /user/hetuserver/fiber/extra_file/driver/gbase
hdfs dfs -put GBase驱动文件路径 /user/hetuserver/fiber/extra_file/driver/gbase
hdfs dfs -chmod -R 644 /user/hetuserver/fiber/extra_file/driver/gbase
- 通过Manager界面上传至HDFS:
配置GBase数据源
- 使用HetuEngine管理员用户登录FusionInsight Manager,选择“集群 > 服务 > HetuEngine”,进入HetuEngine服务页面。
- 在“概览”页签下的“基本信息”区域,单击“HSConsole WebUI”后的链接,进入HSConsole界面。
- 选择“数据源”,单击“添加数据源”。在“添加数据源”页面填写参数。
- 配置“基本配置”,填写数据源名称,选择数据源类型“JDBC > GBase”。
- 配置“GBase配置”,参数配置请参考表1。
表1 GBase配置 参数
描述
取值样例
驱动名称
选择2中已提前上传的待使用的GBase驱动,格式为xxx.jar。
gbase-connector-java-9.5.0.1-build1-bin.jar
JDBC URL
连接GBase的JDBC URL地址。
格式:jdbc:gbase://gbase数据库所在的IP地址:端口号。
端口号默认为5258。
jdbc:gbase://192.168.1.1:5258
用户名
连接GBase数据源的GBase用户名。
-
密码
连接GBase数据源的GBase用户密码。
-
- (可选)自定义配置。
单击“增加”可以增加自定义配置参数。配置GBase数据源自定义参数,参考表2。
表2 GBase数据源自定义配置参数 参数
描述
取值样例
GBase.auto-reconnect
是否自动重连。
- true(默认值):开启自动重连。
- false:关闭自动重连。
true
GBase.max-reconnects
最大重连次数,默认值:3。
3
GBase.jdbc.use-information-schema
驱动程序是否应该使用INFORMATION_SCHEMA来派生“DatabaseMetaData”使用的信息。
true
use-connection-pool
是否使用JDBC连接池,默认值:true。
true
jdbc.connection.pool.maxTotal
JDBC连接池中最大连接数,默认值:8。
8
jdbc.connection.pool.maxIdle
JDBC连接池中最大空闲连接数,默认值:8。
8
jdbc.connection.pool.minIdle
JDBC连接池中最小空闲连接数,默认值:0。
0
unsupported-type-handling
当连接器不支持此数据类型时,是否将其转换为VARCHAR,从而避免失败。
- CONVERT_TO_VARCHAR:将不支持的类型转为VARCHAR类型,并且只支持对它们的读操作。
- IGNORE(默认值):不支持的类型将不在查询结果中显示。
IGNORE
join-pushdown.enabled
是否启用Join下推。
- true(默认值):开启Join下推。
- false:关闭Join下推。
true
单击“删除”可以删除已增加的自定义配置参数。
- 单击“确定”。
- 登录集群客户端所在节点,执行以下命令,切换到客户端安装目录并认证用户。
cd /opt/hadoopclient
source bigdata_env
kinit HetuEngine组件操作用户 (普通模式集群跳过)
- 执行以下命令,登录数据源的catalog。
hetu-cli --catalog 数据源名称 --schema 数据库名
例如执行以下命令:
hetu-cli --catalog gbase_1 --schema gbasedb
- 执行以下命令,可正常查看数据库表信息或不报错即表示连接成功。
show tables;
GBase与HetuEngine数据类型映射
GBase类型 |
HetuEngine类型 |
---|---|
TINYINT |
TINYINT |
SMALLINT |
SMALLINT |
INTEGER |
INTEGER |
BIGINT |
BIGINT |
DOUBLE |
DOUBLE |
FLOAT |
REAL |
DECIMAL(p, s) |
DECIMAL(p, s) |
CHAR(n) |
CHAR(n) |
VARCHAR(n) |
VARCHAR(n) |
TEXT |
VARCHAR(65535) |
BLOB, LONGBLOB |
VARBINARY |
DATE |
DATE |
TIME |
TIME |
DATETIME |
TIMESTAMP(6) |
TIMESTAMP(n) |
TIMESTAMP(n) |