天天看點

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之上的部署分享
flink docker 運作在mesos之上的部署分享
flink docker 運作在mesos之上的部署分享
flink docker 運作在mesos之上的部署分享

{

  "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"

  ]

}

繼續閱讀