Uploaded image for project: 'Hadoop Common'
  1. Hadoop Common
  2. HADOOP-18548

Hadoop Archive tool (HAR) should acquire delegation tokens from source and destination file systems

    XMLWordPrintableJSON

Details

    • Reviewed

    Description

      Running Hadoop Archive tool (HAR) against source/dest that are not HDFS does not work today.

      Example:

      hadoop archive -archiveName foo.har -p ofs://ozone1/vol2/bucket2/src/ ofs://ozone1/vol2/bucket2/dst/
      

      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:

      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)
      ...
      

      The workaround is to add the ozone path as the default file system:

      export HADOOP_OPTS="$HADOOP_OPTS -Dfs.defaultFS=ofs://ozone1/vol2/bucket2"
      

      A proper fix should make sure HAR requests delegation tokens from src/dest file system too.

      Attachments

        Issue Links

          Activity

            People

              sgal Szabolcs Gál
              weichiu Wei-Chiu Chuang
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: