使用distcp命令拷贝空文件夹报错
问题背景与现象
通过MRS客户端使用以下distcp命令,无法从HDFS复制空文件夹到OBS。
hadoop distcp -Dfs.obs.endpoint=xxx
-Dfs.obs.access.key=xxx -Dfs.obs.secret.key=xxx -update hdfs://hacluster/blee obs://xxx/aaa
原因分析
如果源端(例如“blee”)为空目录,且目的端(例如“aaa”)目录不存在,系统会自动创建出来“aaa”目录,但是不会在“aaa”目录下面再创建“blee”目录。
如果源端“blee”不是空目录,且目的端“aaa”目录不存在,系统会自动创建出来“aaa”目录,并在“aaa”目录下面再创建“blee”目录,进行文件迁移。
解决办法
- 进行迁移操作时,源端目录(例如“blee”)不建议为空。
- 如果源端目录为空,在执行迁移前,需要手动创建目的端目录,即手动创建“aaa”目录。