hadoop distcp 报错: Could not find any valid local directory for s3ablock-xxxx

Posted PeersLee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hadoop distcp 报错: Could not find any valid local directory for s3ablock-xxxx相关的知识,希望对你有一定的参考价值。

distcp 从 hdfs 到 s3a 报错: Could not find any valid local directory for s3ablock-xxxx

解决方法

在 cmd 中通过 jvm 属性注入 

hadoop distcp -Dfs.s3a.buffer.dir=/xxx hdfsxxx s3a://xxx/ooo

直接配置到 hdfs core-site.xml 文件

 

fs.s3a.buffer.dir

defualt: $hadoop.tmp.dir/s3a

desc: Comma separated list of directories that will be used to buffer file uploads to.

此参数在用到 org.apache.hadoop.fs.s3a.S3AFileSystem 时使用,在写 s3a 时先在本地的 local 存储目录(fs.s3a.buffer.dir)写 tmp 的 s3 file block,再 upload 到 s3a 上

fs.s3a.buffer.dir 该目录需要提前创建好并且保证启动 nodemanager 的 user 有读写权限

为了避免集群扩节点

而带来的需要手动在新增节点上创建 buffer dir 的麻烦事

我们这边使用 yarn-site.xml 的 yarn.nodemanager.local-dirs 配置

因为 block 名字可以保证唯一,并且用完之后自动清除

以上是关于hadoop distcp 报错: Could not find any valid local directory for s3ablock-xxxx的主要内容,如果未能解决你的问题,请参考以下文章

hadoop distcp 报错: Could not find any valid local directory for s3ablock-xxxx

某游戏厂商 hdfs 迁移 distcp failing write attempt Tried pipline recovery 5 times without success 问题排查

nginx报错:nginx: [alert] could not open error log file: open() “/var/log/nginx/error.log“ failed (2: N

关于WARN Dispatcher:68 - Could not find action or result报错

postgresql 日志报错could not write to log file: No space left on device,could not write lock file "

jxl导出excel,设置单元格函数,引用另一个sheet的值,报错 Could not find named cell Sheet2