GBaseUP与TDH 连接配置参考
一、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;

热门帖子
- 12025-12-01浏览数:182763
- 22023-05-09浏览数:25057
- 42023-09-25浏览数:18525
- 52020-05-11浏览数:17528