flink docker 运行在mesos之上的部署分享

 

从官方网站docker 镜像启动flink是比较容易的,如下:

docker run --name flink_jobmanager -d -t flink:1.6.1-hadoop28-scala_2.11-alpine jobmanager

 

docker run --name flink_jobmanager -d -t flink:1.6.1-hadoop28-scala_2.11-alpine taskmanager

 

部署到mesos+marathon 平台上就发现有点不知所措。因为要传递一个运行时参数进去。

后来,终于搞定了。这里分享给大家参考参考。

flink docker 运行在mesos之上的部署分享_第1张图片

flink docker 运行在mesos之上的部署分享_第2张图片

 

flink docker 运行在mesos之上的部署分享_第3张图片

 

flink docker 运行在mesos之上的部署分享_第4张图片

{
  "id": "/flink-cluster/flink-jobmanager",
  "cmd": null,
  "cpus": 1,
  "mem": 1024,
  "disk": 0,
  "instances": 1,
  "acceptedResourceRoles": [
    "*"
  ],
  "container": {
    "type": "DOCKER",
    "docker": {
      "forcePullImage": false,
      "image": "flink:1.6.1-hadoop28-scala_2.11-alpine",
      "parameters": [],
      "privileged": false
    },
    "volumes": [],
    "portMappings": [
      {
        "containerPort": 0,
        "labels": {},
        "protocol": "tcp",
        "servicePort": 10013
      }
    ]
  },
  "healthChecks": [
    {
      "gracePeriodSeconds": 300,
      "ignoreHttp1xx": false,
      "intervalSeconds": 60,
      "maxConsecutiveFailures": 3,
      "path": "/",
      "port": 8081,
      "protocol": "HTTP",
      "timeoutSeconds": 20,
      "delaySeconds": 15
    }
  ],
  "labels": {
    "org.projectcalico.label.role": "frontend"
  },
  "networks": [
    {
      "name": "frontend",
      "mode": "container"
    }
  ],
  "portDefinitions": [],
  "args": [
    "jobmanager"
  ]
}

你可能感兴趣的:(mesos,Marathon)