我们有一个火花集群,它是在docker(singularities / spark image)的帮助下构建的。当我们删除容器时,存储在hdfs中的数据也将被删除。我知道这很正常,但是我该如何解决这个问题,以便每当我再次启动群集时,hdfs中的文件就会恢复而无需再次上传
答案 0 :(得分:0)
您可以为master和worker的/opt/hdfs
目录绑定/装载主机卷,如下所示
version: "2"
services:
master:
image: singularities/spark
command: start-spark master
hostname: master
volumes:
- "${PWD}/hdfs:/opt/hdfs"
ports:
- "6066:6066"
- "7070:7070"
- "8080:8080"
- "50070:50070"
worker:
image: singularities/spark
command: start-spark worker master
volumes:
- "${PWD}/hdfs:/opt/hdfs"
environment:
SPARK_WORKER_CORES: 1
SPARK_WORKER_MEMORY: 2g
links:
- master
这样,您的HDFS文件将始终保存在主机上的./hdfs
(当前工作目录中的hdfs
)上。