GBase 8a
备份恢复
问答

使用LOAD 语句从带kerberos认证的机器导入数据报错 with non-matching renewer hdfs

发表于2024-04-16 11:28:47550次浏览10个评论

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

【GBase版本】: 9.5.3.28.12509af27

【操作系统】: Linux gba03 3.10.0-1160.105.1.el7.x86_64 #1 SMP Thu Dec 7 15:39:45 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

【CPU】:

Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    2
Core(s) per socket:    2
Socket(s):             1
NUMA node(s):          1
Vendor ID:             AuthenticAMD
CPU family:            25
Model:                 1
Model name:            AMD EPYC 7K83 64-Core Processor
Stepping:              0
CPU MHz:               2545.218
BogoMIPS:              5090.43
Hypervisor vendor:     KVM
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              512K
L3 cache:              32768K
NUMA node0 CPU(s):     0-3
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm art rep_good nopl extd_apicid eagerfpu pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext rsb_ctxsw ibpb vmmcall fsgsbase bmi1 avx2 smep bmi2 erms rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 arat

【问题描述】*:

设置如下参数,其中home/gbase/hdfs.keytab 文件上传到了每一台机器的对应目录下,gbase 用户有访问该文件权限

set gbase_hdfs_auth_mode='KERBEROS'
set gbase_hdfs_principal='HTTP/cdh5-2@CDH5.COM'
set gbase_hdfs_keytab='/home/gbase/hdfs.keytab'
set gbase_hdfs_protocol=rpc
 

执行如下sql :
LOAD DATA INFILE 'hdp://hdfs@cdh5-2:8022/user/hh/sww/d018a97df056427eaa7b9491fe8bf6b7/d7962cdf117640a7992b0590ff2b0b8b.csv'
INTO TABLE `vc1`.`dp_test`.`aa224` DATA_FORMAT 5 HAVING LINES SEPARATOR
FILE_FORMAT uncompressed
fields terminated by ',' ENCLOSED BY '"'
table_fields ' ID, C4, C6  date "%Y-%m-%d %H:%i:%s.%f" , CCCC2, C8, C03, C01, Column1'
LINES TERMINATED BY '\n'
MAX_BAD_RECORDS 0

 

异常信息:

[HY000][1733] (GBA-01EX-700) Gbase general error: Get token operation failed with error - HTTP tries to renew a token (token for HTTP: HDFS_DELEGATION_TOKEN owner=HTTP/cdh5-2@CDH5.COM, renewer=hdfs, realUser=, issueDate=1713237984617, maxDate=1713842784617, sequenceNumber=8, masterKeyId=38) with non-matching renewer hdfs at org.apache.hadoop.security.token.delegation.AbstractDelegationTokenSecretManager.renewToken(AbstractDelegationTokenSecretManager.java:499) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.ren

 

请问这是什么原因导致的,应该如何解决

 

klist 和 hdfs-site.xml

评论

登录后才可以发表评论
用户头像
GBase社区管理员发表于 2年前

请先检查principal格式和hdfs配置文件hdfs-site.xml中配置的是否一致

woo发表于 2年前
@社区管理员:和hdfs-site.xml 中的不一致,文件中的配置是hdfs/_HOST@CDH5.COM,但是keytab文件中的principal是HTTP/cdh5-2@CDH5.COM
woo发表于 2年前
@社区管理员:hdfs-site.xml 文件中是hdfs/cdh5-2@CDH5.COM,我修改成一致的之后,报错变为了
[HY000][1733] (GBA-01EX-700) Gbase general error: Get token operation failed with error - Keytab contains no suitable keys for hdfs/_HOST@CDH5.COM, uri : hdp://hdfs@cdh5-2:8022/user/hh/sww/d018a97df056427eaa7b9491fe8bf6b7/d7962cdf117640a7992b0590ff2b0b8b.csv.
用户头像
GBase社区管理员发表于 2年前
@woo

Keytab contains no suitable keys,Keytab文件中没有包含合适的密钥。可以尝试重新生成或者更新keytab文件

woo发表于 2年前
@社区管理员:我用命令可以连上,并且我们的程序里面用这个keytab可以正常读写数据
woo发表于 2年前
@社区管理员:怎么查看 GBASE8A 节点的 kerberos 认证日志呢?
woo发表于 2年前
@社区管理员:我更新了文章中的截图,您看下
用户头像
GBase社区管理员发表于 2年前

set gbase_hdfs_principal='hdfs/cdh5-2@CDH5.COM'​
这个改成这样,再重试一下

最佳回答
woo发表于 2年前
@社区管理员:可以了,十分感谢
用户头像
levvel发表于 2个月前
嗯,只能说不错!