如何在docker容器中装载hdfs

wkftcu5l  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(405)

我将一个应用程序停靠在docker容器中。我打算让应用程序能够从我们的hdfs访问文件。docker映像将部署在通过marathon mesos安装hdfs的同一集群上。
下面是要发布到marathon的json。似乎我的应用程序能够读写hdfs中的文件。有人能评价一下这个的安全性吗?我的应用程序更改的文件在hdfs中也会正确更改吗?我搜索了一下,没有发现任何类似的方法。。。

{
  "id": "/ipython-test",
  "cmd": null,
  "cpus": 1,
  "mem": 1024,
  "disk": 0,
  "instances": 1,
  "container": {
    "type": "DOCKER",
    "volumes": [
      {
        "containerPath": "/home",
        "hostPath": "/hadoop/hdfs-mount",
        "mode": "RW"
      }
    ],
    "docker": {
      "image": "my/image",
      "network": "BRIDGE",
      "portMappings": [
        {
          "containerPort": 8888,
          "hostPort": 0,
          "servicePort": 10061,
          "protocol": "tcp",
        }
      ],
      "privileged": false,
      "parameters": [],
      "forcePullImage": true
    }
  },
  "portDefinitions": [
    {
      "port": 10061,
      "protocol": "tcp",
      "labels": {}
    }
  ]
}
ubbxdtey

ubbxdtey1#

你可以看看docker卷文档。
基本上 volumes app.json中的定义将触发带有标志的docker映像的开始 -v /hadoop/hdfs-mount:/home:RW ,这意味着主机路径被Map到docker容器 /home 在读写模式下。
如果您使用ssh连接到运行应用程序的节点并执行 docker inspect <containerId> .
另请参见
https://mesosphere.github.io/marathon/docs/native-docker.html

相关问题