Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop/Thread Docker容器执行器失败,原因是;无效的docker rw mount“;_Docker_Hadoop_Yarn - Fatal编程技术网

Hadoop/Thread Docker容器执行器失败,原因是;无效的docker rw mount“;

Hadoop/Thread Docker容器执行器失败,原因是;无效的docker rw mount“;,docker,hadoop,yarn,Docker,Hadoop,Yarn,我正在尝试执行Hadoop/Thread(版本:2.9.1)Docker容器执行器的简单示例: 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.redu

我正在尝试执行Hadoop/Thread(版本:2.9.1)Docker容器执行器的简单示例:

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读写挂载

通过将此目录添加到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/

通过将此目录添加到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/