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
hadoop start-all.sh报错JAVA_HOME is not set and could not be found.
hadoop启动报错:localhost: ssh: Could not resolve hostname localhost
大数据系列hadoop上传文件报错_COPYING_ could only be replicated to 0 nodes