Max Xie created HIVE-25401: ------------------------------- Summary: Insert overwrite a table which location is on other cluster fail in kerberos cluster Key: HIVE-25401 URL: https://issues.apache.org/jira/browse/HIVE-25401 Project: Hive Issue Type: Bug Components: Hive Affects Versions: 3.1.2, 2.3.0 Environment: hive 2.3
hadoop3 cluster with kerberos Reporter: Max Xie Attachments: image-2021-07-29-14-25-23-418.png we have tow hdfs clusters with kerberos security, it means that mapreduce task need delegation tokens to authenticate namenode when hive on mapreduce run. Insert overwrite a table which location is on other cluster fail in kerberos cluster. For example, # yarn cluster's default fs is hdfs://cluster1 # tb1's location is hdfs://cluster1/tb1 # tb2's location is hdfs://cluster2/tb2 # sql `INSERT OVERWRITE TABLE tb2 SELECT * from tb1` run on yarn cluster will fail reduce task error log: !image-2021-07-29-14-25-23-418.png! How to fix: After dig it, web found mapreduce job just obtain delegation tokens for input files in FileInputFormat. But Hive context get extendal scratchDir base on table's location, If the table 's location is on other cluster, the delegation token will not be obtained. So we need to obtainer delegation tokens for hive scratchDirs before hive submit mapreduce job. How to test: no test -- This message was sent by Atlassian Jira (v8.3.4#803005)