配置传统数据格式数据源
操作场景
本章节指导用户在HSConsole界面添加Hive类型数据源。
HetuEngine目前支持对接传统数据格式数据源类型包括:avro、text、rctext、binary、orc、parquet、sequencefile。
前提条件
- 数据源所在集群域名与HetuEngine集群域名不能相同。
- 数据源所在集群与HetuEngine集群节点网络互通。
- 已创建HetuEngine计算实例。
操作步骤
- 获取Hive数据源集群的“hdfs-site.xml”和“core-site.xml”配置文件。
- 登录Hive数据源所在集群的FusionInsight Manager页面。
- 选择“集群 > 概览”。
- 选择“更多 > 下载客户端”,根据界面提示下载“完整客户端”文件到本地。
- 将下载的客户端文件压缩包解压,获取“FusionInsight_Cluster_1_Services_ClientConfig/HDFS/config”路径下的“core-site.xml”和“hdfs-site.xml”文件。
- 查看“core-site.xml”文件中是否有“fs.trash.interval”配置项,若没有,则新增以下配置。
<property> <name>fs.trash.interval</name> <value>2880</value> </property>
- 将“hdfs-site.xml”文件中的“dfs.client.failover.proxy.provider.hacluster”配置值修改成“org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider”,如下所示:
<property> <name>dfs.client.failover.proxy.provider.hacluster</name> <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value> </property>
- 如果HDFS有多个NameService,那么“hdfs-site.xml”文件中多个NameService对应的“dfs.client.failover.proxy.provider.NameService名称”配置值均需要改成“org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider”。
- 如果“hdfs-site.xml”文件中引用到了非HetuEngine集群节点的主机名称,需要在HetuEngine集群的每个节点的“/etc/hosts”文件中,加上引用到的主机名称和对应的IP的映射,否则HetuEngine无法根据主机名称连接到非本集群节点。
若对接的Hive数据源集群和HetuEngine处于同一个Hadoop集群中,“hdfs-site.xml”和“core-site.xml”配置文件的获取方式为从HDFS中获取,参考使用HDFS客户端进入集群HDFS客户端,执行以下命令获取:
hdfs dfs -get /user/hetuserver/fiber/restcatalog/hive/core-site.xml
hdfs dfs -get /user/hetuserver/fiber/restcatalog/hive/hdfs-site.xml
- 获取Hive数据源的代理用户的“user.keytab”和“krb5.conf”文件。
- 登录Hive数据源所在集群的FusionInsight Manager页面。
- 选择“系统 > 权限 > 用户”。
- 选择对应的数据源用户,在“操作”列中选择“更多 > 下载认证凭据”。
- 从下载的文件中解压后获取“user.keytab”和“krb5.conf”文件。
Hive数据源的代理用户需至少关联“hive”用户组。
- 获取Metastore URL和服务端Principal。
- 获取Hive数据源所在集群客户端文件压缩包解压路径下的“FusionInsight_Cluster_1_Services_ClientConfig/Hive/config”下的“hive-site.xml”文件。
- 打开“hive-site.xml”文件,搜索“hive.metastore.uris”,其对应的值即为Metastore URL的值。搜索“hive.server2.authentication.kerberos.principal”,其对应的值即为服务端Principal的值。
- 使用HetuEngine管理员用户登录FusionInsight Manager,选择“集群 > 服务 > HetuEngine”,进入HetuEngine服务页面。
- 在概览页签下的“基本信息”区域,单击“HSConsole WebUI”后的链接,进入HSConsole界面。
- 选择“数据源”,单击“添加数据源”。在“添加数据源”页面填写参数。
- 配置“基本配置”,参数配置请参考表1。
表1 基本配置 参数
描述
取值样例
数据源名称
对接的数据源的名称。
只能包含字母、数字、下划线(_),仅字母开头。
hive_1
数据源类型
对接的数据源的类型。选择“Hive”。
Hive
模式
当前集群的模式,默认为安全模式。
-
描述
数据源的描述信息。
只能包含汉字、英文字母、数字、中英文逗号、中英文句号、下划线(_)、空格和换行符。
-
- 配置“Hive配置”,参数配置请参考表2。
表2 Hive配置 参数
描述
取值样例
驱动
默认为fi-hive-hadoop。
fi-hive-hadoop
hdfs-site文件
在本地选择1获取的“hdfs-site.xml”配置文件,文件名固定。
-
core-site文件
在本地选择1获取的“core-site.xml”配置文件,文件名固定。
-
krb5文件
开启安全模式时填写此参数。
Kerberos认证用到的配置文件,在本地选择2获取的“krb5.conf”文件。
krb5.conf
开启数据源鉴权
是否同时使用Hive数据源的权限策略进行鉴权。
HetuEngine服务Ranger不启用时必须选“是”,Ranger启用后选“否”。
否
- 配置“Metastore配置”,参数配置请参考表3。
表3 Metastore配置 参数
描述
取值样例
Metastore URL
数据源的Metastore的URL。获取方法请参考3。
thrift://10.92.8.42:21088,thrift://10.92.8.43:21088,thrift://10.92.8.44:21088
安全认证机制
打开安全模式后自动默认为KERBEROS。
KERBEROS
服务端Principal
开启安全模式时填写此参数。
meta访问metastore带域名的用户名。获取方法请参考3。
hive/hadoop.hadoop.com@HADOOP.COM
客户端Principal
开启安全模式时填写此参数。
格式为:访问metastore的用户名@域名大写.COM。
访问metastore的用户名就是2中获取的“user.keytab”文件所属的用户。
admintest@HADOOP.COM
keytab文件
开启安全模式时填写此参数。
连接metastore用户名的keytab凭据文件,固定名称。在本地选择2获取的“user.keytab”文件。
user.keytab
- 配置“连接池配置”,参数配置请参考表4。
- 配置“Hive用户信息配置”,参数配置请参考表5。
“Hive用户信息配置”与“HetuEngine-Hive用户映射配置”要搭配使用,HetuEngine在对接Hive数据源时,通过用户映射,使得HetuEngine的用户具备与Hive数据源被映射的用户访问Hive数据源时同样的权限。可以多个HetuEngine用户对应一个Hive用户。
- 配置“HetuEngine-Hive用户映射配置”,参数配置请参考表6。
表6 HetuEngine-Hive用户映射配置 参数
描述
取值样例
HetuEngine User
HetuEngine用户信息。
只能包含字母、数字、下划线(_)、中划线(-)和 英文 (.),仅以字母、下划线(_)开头, 并且最小长度为2个字符,最大长度不能超过100个字符。
hetuuser1
Data Source User
数据源用户信息。
只能包含字母、数字、下划线(_)、中划线(-)和 英文 (.),仅以字母、下划线(_)开头, 并且最小长度为2个字符,最大长度不能超过100个字符。
hiveuser1(表5中配置的数据源用户)
- 修改自定义配置。
- 单击“增加”,参考表7增加自定义配置参数。
表7 自定义配置 参数
描述
取值样例
hive.metastore.connection.pool.maxTotal
连接池可创建的最大连接数。
50(取值范围0~200)
hive.metastore.connection.pool.maxIdle
连接池最大空闲线程数,当空闲线程达到最大值时不会释放新的线程。
默认值:10
10(取值范围0~200,不能超过最大连接数)
hive.metastore.connection.pool.minIdle
连接池最小空闲线程数,此时线程池不会创建新的线程。
默认值:10
10(取值范围0~200,不能超过hive.metastore.connection.pool.maxIdle的值)
- 单击“删除”,可以删除已增加的自定义配置参数。
- 以上自定义配置项,均可通过增加“coordinator.”和“worker.”前缀分别对Coordinator和Worker进行差异化配置。例如自定义添加“worker.hive.metastore.connection.pool.maxTotal”为50,表示配置worker访问hive metastore时的最大连接数为50。若未添加前缀,则表示该配置项对Coordinator和Worker都生效。
- 系统默认设置coordinator访问hive metastore时的最大连接数为50,最大空闲和最小空闲连接数为10,worker访问hive metastore时的最大连接数为20,最大空闲和最小空闲连接数为0。
- 单击“增加”,参考表7增加自定义配置参数。
- 单击“确定”。
- 配置“基本配置”,参数配置请参考表1。
- 登录集群客户端所在节点,执行以下命令,切换到客户端安装目录并认证用户。
cd /opt/client
source bigdata_env
kinit HetuEngine组件操作用户 (普通模式集群跳过)
- 执行以下命令,登录数据源的catalog。
hetu-cli --catalog 数据源名称 --schema default
例如执行以下命令:
hetu-cli --catalog hive_1 --schema default
- 执行以下命令,查看数据库表信息:
show tables;
Table --------- hivetb (1 rows) Query 20210730_084524_00023_u3sri@default@HetuEngine, FINISHED, 3 nodes Splits: 36 total, 36 done (100.00%) 0:00 [2 rows, 47B] [7 rows/s, 167B/s]