Kerberized Cloudera Cluster 中的 Distcp 抛出 java.io.IOException:无法获取 Master Kerberos 主体以用作更新程序

问题描述

我正在执行 distcp 操作以将文件一个目录复制到同一集群中的另一个目录。它是一个 Kerberized Cloudera Hadoop 集群。

我运行的命令:

hadoop distcp -overwrite hdfs://nameservice/hdfs_path_source hdfs://nameservice/hdfs_path_target

我收到以下错误

java.io.IOException: Can't get Master Kerberos principal for use as renewer
        at org.apache.hadoop.mapreduce.security.TokenCache.obtainTokensForNamenodesInternal(TokenCache.java:132)
        at org.apache.hadoop.mapreduce.security.TokenCache.obtainTokensForNamenodesInternal(TokenCache.java:100)
        at org.apache.hadoop.mapreduce.security.TokenCache.obtainTokensForNamenodes(TokenCache.java:80)
        at org.apache.hadoop.tools.SimplecopyListing.validatePaths(SimplecopyListing.java:199)
        at org.apache.hadoop.tools.copyListing.buildListing(copyListing.java:85)
        at org.apache.hadoop.tools.GlobbedcopyListing.dobuildListing(GlobbedcopyListing.java:89)
        at org.apache.hadoop.tools.copyListing.buildListing(copyListing.java:86)
        at org.apache.hadoop.tools.distCp.createInputFileListing(distCp.java:368)
        at org.apache.hadoop.tools.distCp.prepareFileListing(distCp.java:96)
        at org.apache.hadoop.tools.distCp.createAndSubmitJob(distCp.java:205)
        at org.apache.hadoop.tools.distCp.execute(distCp.java:182)
        at org.apache.hadoop.tools.distCp.run(distCp.java:153)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76)
        at org.apache.hadoop.tools.distCp.main(distCp.java:432)```



解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)