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