【问题标题】:Docker Swarm Volumes with Lustre?带有 Lustre 的 Docker Swarm 卷?
【发布时间】:2018-06-09 22:03:47
【问题描述】:

我有一个用于 HDFS 数据节点的 docker swarm 设置如下(截断):

  datanode:
    image: bde2020/hadoop-datanode:2.0.0-hadoop2.7.4-java8
    volumes:
      - datanode:/hadoop/dfs/data
    deploy:
      mode: global
      placement:
        constraints: [ node.role == worker ]
  volumes:
    datanode:

每个数据节点容器都有一个关联的数据节点卷,当前存储在 /var/lib/docker/volumes(每个节点的本地)中。我可以访问更大(更快)的 luster 文件系统,并且正在寻求了解如何将卷存储在 Lustre 文件系统上。

一种可能是将 /var/lib/docker/volumes 符号链接到 /lustre/nodeN(其中 N 是物理节点号),但似乎 namenode 将无法处理堆栈重启,因为数据会(可能)被移动到另一个节点。

是否存在 docker 驱动器来支持集群中 luster 文件系统上的 docker 卷?如果没有,团队如何管理 HDFS 等系统的 docker 卷数据持久性?

【问题讨论】:

    标签: docker hadoop docker-volume


    【解决方案1】:

    恐怕不会如果我没有误解你的话,因为driver: lustre 或类似的东西不存在于 docker 配置中,就像它存在于nfs 中一样,例如:

    volumes:
       db-data:
          driver: local
          driver_opts:
            type: <here is where you could try to put lustre, but it doesn't exist>
            o: addr=$IPADDR,rw
            device: ":/hadoop/dfs/data"
    

    因此,如果您考虑以下架构,请尝试使用 lustre-graph-driver

    https://github.com/bacaldwell/lustre-graph-driver/blob/master/lustre-graph-driver.jpg

    更多信息在lustre-graph-driver HOWTO

    【讨论】:

      猜你喜欢
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多