Hdfs文件的还原

时间:2018-08-15 11:37:59

标签: docker apache-spark hdfs

我们有一个火花集群,它是在docker(singularities / spark image)的帮助下构建的。当我们删除容器时,存储在hdfs中的数据也将被删除。我知道这很正常,但是我该如何解决这个问题,以便每当我再次启动群集时,hdfs中的文件就会恢复而无需再次上传

1 个答案:

答案 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)上。

Ref-https://hub.docker.com/r/singularities/spark/