从官方网站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 平台上就发现有点不知所措。因为要传递一个运行时参数进去。
后来,终于搞定了。这里分享给大家参考参考。
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIwczLcVmds92czlGZvwVP9EUTDZ0aRJkSwk0LcxGbpZ2LcBDM08CXlpXazRnbvZ2LcRlMMVDT2EWNvwFdu9mZvw1cWJjW1Z0VaxmSupVNCh0YohmMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2LcRHelR3LcJzLctmch1mclRXY39zM5QDM0QjMzEjNxATM4EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
{
"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"
]
}