Hadoop / Yarn Docker-Container-Executor因“无效的docker rw安装”而失败

时间:2018-09-08 22:37:32

标签: docker hadoop yarn

我正在尝试执行Hadoop / Yarn(版本:2.9.1)Docker-Container-Executor的简单示例:

vars="YARN_CONTAINER_RUNTIME_TYPE=docker,YARN_CONTAINER_RUNTIME_DOCKER_IMAGE=hadoop-docker"
hadoop jar hadoop-examples.jar pi -Dyarn.app.mapreduce.am.env=$vars -Dmapreduce.map.env=$vars -Dmapreduce.reduce.env=$vars 10 100

不幸的是,作业失败,但出现以下异常:

Failing this attempt.Diagnostics: [2018-09-08 22:23:54.288]Exception from container-launch.
Container id: container_1536441225683_0004_02_000001
Exit code: 29
Exception message: Invalid docker rw mount '/tmp/hadoop-hadoop/nm-local-dir/usercache/hadoop/appcache/application_1536441225683_0004/:/tmp/hadoop-hadoop/nm-local-dir/usercache/hadoop/appcache/application_1536441225683_0004/', realpath=/tmp/hadoop-hadoop/nm-local-dir/usercache/hadoop/appcache/application_1536441225683_0004/
Error constructing docker command, docker error code=14, error message='Invalid docker read-write mount'

有人知道如何解决无效的docker读写挂载吗?

1 个答案:

答案 0 :(得分:0)

通过将此目录添加到 etc / hadoop / container-executor.cfg 中的属性 docker.allowed.rw-mounts 来解决。如果您收到多个目录的错误消息,则需要用逗号分隔它们。

就我而言:

docker.allowed.rw-mounts=/usr/local/hadoop/,/var/hadoop/yarn/local-dir,/var/hadoop/yarn/log-dir,/tmp/hadoop-hadoop/