[ 
https://issues.apache.org/jira/browse/HADOOP-18548?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17706060#comment-17706060
 ] 

ASF GitHub Bot commented on HADOOP-18548:
-----------------------------------------

Galsza commented on code in PR #5355:
URL: https://github.com/apache/hadoop/pull/5355#discussion_r1150798198


##########
hadoop-tools/hadoop-archives/src/main/java/org/apache/hadoop/tools/HadoopArchives.java:
##########
@@ -487,6 +489,11 @@ void archive(Path parentPath, List<Path> srcPaths,
           + " should be a directory but is a file");
     }
     conf.set(DST_DIR_LABEL, outputPath.toString());
+    Credentials credentials = new Credentials();
+    Path[] allPaths = new Path[] {parentPath, dest};
+    TokenCache.obtainTokensForNamenodes(credentials, allPaths, conf);
+    conf.setCredentials(credentials);

Review Comment:
   Thanks for the review, I have updated it. 





> Hadoop Archive tool (HAR) should acquire delegation tokens from source and 
> destination file systems
> ---------------------------------------------------------------------------------------------------
>
>                 Key: HADOOP-18548
>                 URL: https://issues.apache.org/jira/browse/HADOOP-18548
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: tools
>            Reporter: Wei-Chiu Chuang
>            Assignee: Szabolcs Gál
>            Priority: Major
>              Labels: pull-request-available
>
> Running Hadoop Archive tool (HAR) against source/dest that are not HDFS does 
> not work today.
> Example:
> {noformat}
> hadoop archive -archiveName foo.har -p ofs://ozone1/vol2/bucket2/src/ 
> ofs://ozone1/vol2/bucket2/dst/
> {noformat}
> The command fails because it's essentially a MapReduce job and for some 
> reason it does not obtain Ozone delegation token (only HDFS and KMS)
> The failure:
> {noformat}
> 22/11/30 18:12:10 INFO mapreduce.Job: Job job_1669745757520_0001 failed with 
> state FAILED due to: Job setup failed : java.io.IOException: 
> org.apache.hadoop.security.AccessControlException: Client cannot authenticate 
> via:[TOKEN, KERBEROS]
>         at org.apache.hadoop.ipc.Client$Connection$1.run(Client.java:789)
>         at java.security.AccessController.doPrivileged(Native Method)
> ...
> {noformat}
> The workaround is to add the ozone path as the default file system:
> {noformat}
> export HADOOP_OPTS="$HADOOP_OPTS -Dfs.defaultFS=ofs://ozone1/vol2/bucket2"
> {noformat}
> A proper fix should make sure HAR requests delegation tokens from src/dest 
> file system too.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org

Reply via email to