至少一个文件系统不支持 ACL:Distcp HDFS

Posted

技术标签:

【中文标题】至少一个文件系统不支持 ACL:Distcp HDFS【英文标题】:ACLs not supported on at least one file system: Distcp HDFS 【发布时间】:2018-08-24 11:23:38 【问题描述】:
 根据 distcp 文档 ->
如果指定了 -pa,DistCp 也会保留权限,因为
ACL 是权限的超集。
但是 hadoop distcp -pa -delete -update /src/path /dest/path/
由于至少一个文件系统不支持 ACL 而失败。
完整的日志如下

上述命令执行失败。 期望是使用 ACL 将 hdfs 文件从源复制到目标。

org.apache.hadoop.tools.CopyListing$AclsNotSupportedException:文件系统不支持 ACL:hdfs://10.20.0.7:8020 在 org.apache.hadoop.tools.util.DistCpUtils.checkFileSystemAclSupport(DistCpUtils.java:381) 在 org.apache.hadoop.tools.DistCp.configureOutputFormat(DistCp.java:353) 在 org.apache.hadoop.tools.DistCp.createJob(DistCp.java:247) 在 org.apache.hadoop.tools.DistCp.createAndSubmitJob(DistCp.java:176) 在 org.apache.hadoop.tools.DistCp.execute(DistCp.java:155) 在 org.apache.hadoop.tools.DistCp.run(DistCp.java:128) 在 org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76) 在 org.apache.hadoop.tools.DistCp.main(DistCp.java:462)

【问题讨论】:

下面更新的命令保留ACL ` hadoop distcp -pugp /src /dest `用于复制hdfs目录的完整命令是` hadoop distcp -pugp -delete -update /src / dest `跨度> 【参考方案1】:
hadoop distcp -D ipc.client.fallback-to-simple-auth-allowed=true hdfs://<insecure_hdp>/test01.txt hdfs://<secure_hdp>/user/hdfs

如果有的话,请确保从安全集群运行此命令。

在您的core-site.xml 中设置以下值并重试:

<property> 
  <name>ipc.client.fallback-to-simple-auth-allowed</name>
  <value>true</value>  
</property>

【讨论】:

以上是关于至少一个文件系统不支持 ACL:Distcp HDFS的主要内容,如果未能解决你的问题,请参考以下文章

一篇文章彻底搞定跨集群跨版本distcp的使用

一篇文章彻底搞定跨集群跨版本distcp的使用

HADOOP docker:hdfs权限

ACL概述

Linux ACL权限

setfacl命令