GBase 8a
其他
文章

GBaseUP与TDH 连接配置参考

发表于2025-07-11 13:18:4441次浏览0个评论

一、TDH客户端部署

1.环境准备

配置JAVA环境变量:
cat<<EOF>>/etc/profile
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.402.b06-0.p01.ky10.p01.x86_64
CLASSPATH=%JAVA_HOME/bin:$JAVA_HOME/jre/bin
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export PATH CLASSPATH JAVA_HOME
EOF

检查安装如下依赖包
krb5-server-1.18.2-8.ky10.x86_64
krb5-libs-1.18.2-8.ky10.x86_64
krb5-devel-1.18.2-8.ky10.x86_64
krb5-client-1.18.2-8.ky10.x86_64
krb5-1.18.2-8.ky10.x86_64  

 

2.TDH客户端部署

(1)TDH客户端下载
登录TDH大数据统一管理平台(http://IP:8180/#/login),下载客户端,由TDH相关运维人员协助提供。
注意:TDH客户端安装包包含TDH集群相关配置信息,因此需下载对应TDH集群的客户端,不同TDH环境原则上不能直接复用。

(2)禁用oauth2认证
设置hadoop.security.authentication.oauth2.enabled为false->配置服务->重启生效。参考如下图

(3)Kerberos认证文件下载
登录http://【IP】:8180/#/login,下载连接租户用户相关常用keytab文件(hdfs.keytab /hive.keytab/zookeeper.keytab),参考如下:

(4)TDH客户端安装
① 上传TDH客户端及Kerberos认证文件
将前面下载的tdh客户端和Kerberos认证文件上传到/gbase8a目录,执行如下操作。

cd /gbase8a
tar -xvf tdh-client.tar
mv  *.keytab /gbase8a/TDH-Client/kerberos/
chown -R gbase.gbase TDH-Client
② 禁用客户端oauth2认证
修改TDH-Client配置文件
/gbase8a/TDH-Client/conf/hdfs1/core-site.xml
/gbase8a/TDH-Client/conf/yarn1/core-site.xml

hadoop.security.authentication.web.oauth2.enabled
hadoop.security.authentication.oauth2.enabled
为false,如图:

③ root用户初始化TDH客户端
mv /etc/krb5.conf  /etc/krb5.conf_bak
cp -f /gbase8a/TDH-Client/kerberos/krb5.conf   /etc/
source /gbase8a/TDH-Client/init.sh y n hadoop2
kinit -kt /gbase8a/TDH-Client/kerberos/edw.keytab edw
④ 测试连接是否正常
hdfs dfs -ls /
hdfs dfs -mkdir /tmp/gbase8up
hdfs dfs -chmod 777  /tmp/gbase8up
hdfs dfsadmin -setSpaceQuota 10G /tmp/gbase8up
beeline -u jdbc:hive2://【IP】:10000/ods -n edw -p '******'
⑤ 测试成功配置gbase用户环境变量
cat<<EOF>>/home/gbase/.bashrc
#export HADOOP_OPTS='-Dsun.security.krb5.debug=true'
source /gbase8a/TDH-Client/init.sh y n hadoop2
kinit -kt /gbase8a/TDH-Client/kerberos/edw.keytab edw
EOF

gbase用户即可正常连接TDH
su - gbase
hdfs dfs -ls /tmp/gbase8up

beeline -u jdbc:hive2://【IP】:10000/ods -n edw -p '*****'
注意:如果出现hdfs dfs -ls /卡住,可配置环境变量export HADOOP_OPTS='-Dsun.security.krb5.debug=true'继续尝试

 

二、GBase外表配置
1.参数配置参考
(1)gc层参数配置
[gcdump]模块前新增配置如下参数
#hadoop
gbase_hdfs_auth_mode=kerberos
gbase_hdfs_protocol=RPC
gbase_hdfs_keytab=/tdh/TDH-Client/kerberos/edw.keytab
_gbase_hdfs_rpcconfig=dfs.encrypt.data.transfer=true,dfs.block.access.token.enable=true
gbase_hdfs_port=8020
gbase_hdfs_principal=edw@TDH
gcluster_connect_to_hiveserver2='tdh-node1?10000?edw?!QAZ2wsx3edc?60?1?PLAIN?PLAIN?edw@TDH????6?0'
gcluster_external_table_use_hive_metastore=0
gbase_hdfs_namenodes=tdh-node3,tdh-node2,tdh-node1,tdh-node4

[hive]
hive_hdfs_user_name=user1
hive_zookeeper_host=tdh-node1:2181,tdh-node2:2181,tdh-node3:2181
hive_hdfs_cluster_name=nameservice1
hive_hdfs_server_name=tdh-node3
hive_hdfs_server_port=8020
hive_hdfs_tmpspace_limit=5737418240

(2)gn层参数配置
[gcdump]模块前新增配置
#hadoop
gbase_hdfs_auth_mode=kerberos
gbase_hdfs_protocol=RPC
gbase_hdfs_keytab=/tdh/TDH-Client/kerberos/edw.keytab
_gbase_hdfs_rpcconfig=dfs.encrypt.data.transfer=true,dfs.block.access.token.enable=true
gbase_hdfs_port=8020
gbase_hdfs_principal=edw@TDH
gbase_hdfs_namenodes=tdh-node3,tdh-node2,tdh-node1,tdh-node4

(3)参数生效
重启集群使参数生效即可,配置完成,即可进行hive外表功能测试。
cexec coor: gcluster_services all restart
cexec data: gcluster_services all restart

注意:采用set global 方式也可配置以上参数,但实际测试中出现set后参数不起作用的情况。


2.功能验证
(1)HDFS加载验证
创建测试表
CREATE TABLE test.t (
 id int 

    构建测试数据
cat<<EOF>>t1.txt
1
2
3
4
EOF

hdfs dfs -put t1.txt /tmp/gbase8up/
加载测试
load data infile 'hdp://edw@*****:8020/tmp/gbase8up/t1.txt' into table test.t fields terminated by '|';

(2)hive引擎表测试
--创建引擎实例

--LDAP认证

select create_engine_instance('hive','inst1','param://hive?hostlist=tdh-node1?port=10000?thriftversion=6?thrifttimeout=60?authmode=1?authtype=PLAIN?mechanism=PLAIN?user=user1?password=*****');

#-- kerberos认证
#select create_engine_instance('hive','inst1','param://hive2?hostlist=tdh-node1?port=10000?thriftversion=6?thrifttimeout=60?authmode=1?authtype=PLAIN?mechanism=PLAIN?principal=edw@TDH?keytabfile=/tdh/TDH-Client/kerberos/edw.keytab?serverid=TDH?protocol=hive?renewtime=7');

--显示实例
select show_engine_instances();

--显示实例配置信息
select show_engine_instance_info('hive','inst1')

--更新实例配置信息
select update_engine_instance_info('hive','inst1')

--删除实例信息
select drop_engine_instance('hive','inst1')

Gbase测试Hive引擎表查询
create table test.g_engine_test(
a varchar(20),
b varchar(20),
c varchar(20),
d varchar(20)
) ;

(3)Hive外表测试
Gbase创建hive外表
create load write external table test.t50(                                                               
  `zhangh` varchar(32) DEFAULT NULL COMMENT '帐号',
    "fileid" bigint(20)

LOCATION ''
PROPERTIES  TYPE 'hive' DATABASE 'test' TABLE 't50'   -- 映射hive中的表
INFORMAT  DATA_FORMAT 3     -- 3文本存储格式,8为orc存储格式
OUTFORMAT;

Gbase测试外表查询
   create table test.t77 as select * from test.t50;

评论已关闭