如何部署 Flink 服务
提示
- Flink 服务是 HAP 系统的可选扩展模块,用户可根据实际需求决定是否启用。
- 启用之前请确保 Docker 版本在 20.10.16 及以上,服务器空余物理内存 8G+。
- 当部署 HAP 的服务器是 32G 时,请不要再额外启用本模块,否则会加剧内存不足影响系统可用性,建议升级至 64GB 后再启用。
单机部署模式快速安装可参考如下:(集群部署模式下相对复杂,可联系 HAP 团队协助完成)
-
下载 flink 镜像(离线包下载)
- Linux amd64
- Linux arm64
docker pull registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-flink:1.19.720docker pull registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-flink-arm64:1.19.720 -
执行下方命令,检查是否有输出包含关键字
start minio的一行内容docker logs $(docker ps | grep mingdaoyun-sc | awk '{print $1}') | grep minio- 有输出
- 无输出
-
修改 docker-compose.yaml 文件(默认路径为:
/data/mingdao/script/docker-compose.yaml)-
添加 flink 服务
- Linux amd64
- Linux arm64
flink:
image: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-flink:1.19.720
entrypoint: ["/bin/bash"]
command: ["/run.sh"]
environment:
ENV_FLINK_S3_ENDPOINT: "sc:9010"
volumes:
- ./volume/data/:/data/flink:
image: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-flink-arm64:1.19.720
entrypoint: ["/bin/bash"]
command: ["/run.sh"]
environment:
ENV_FLINK_S3_ENDPOINT: "sc:9010"
volumes:
- ./volume/data/:/data/ -
app 服务添加
ENV_FLINK_URL环境变量app:
environment:
ENV_FLINK_URL: "http://flink:8081"点击查看完整修改示例
- Linux amd64
- Linux arm64
version: '3'
services:
app:
image: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-hap:7.3.2
environment: &app-environment
ENV_ADDRESS_MAIN: "https://hap.domain.com"
ENV_APP_VERSION: "7.3.2"
ENV_API_TOKEN: "******"
ENV_FLINK_URL: "http://flink:8081" # 新增:启用 Flink 服务
ports:
- 8880:8880
volumes:
- ./volume/data/:/data/
- ../data:/data/mingdao/data
sc:
image: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-sc:3.2.0
environment:
<<: *app-environment
volumes:
- ./volume/data/:/data/
command:
image: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-command:node1018-python36
doc:
image: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-doc:2.0.0
# --- 以下为新增服务 ---
flink:
image: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-flink:1.19.720
entrypoint: ["/bin/bash"]
command: ["/run.sh"]
environment:
ENV_FLINK_S3_ENDPOINT: "sc:9010"
volumes:
- ./volume/data/:/data/version: '3'
services:
app:
image: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-hap-arm64:7.3.2
environment: &app-environment
ENV_ADDRESS_MAIN: "https://hap.domain.com"
ENV_APP_VERSION: "7.3.2"
ENV_API_TOKEN: "******"
ENV_FLINK_URL: "http://flink:8081" # 新增:启用 Flink 服务
ports:
- 8880:8880
volumes:
- ./volume/data/:/data/
- ../data:/data/mingdao/data
sc:
image: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-sc-arm64:3.2.0
environment:
<<: *app-environment
volumes:
- ./volume/data/:/data/
command:
image: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-command-arm64:node1018-python36
doc:
image: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-doc-arm64:2.0.0
# --- 以下为新增服务 ---
flink:
image: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-flink-arm64:1.19.720
entrypoint: ["/bin/bash"]
command: ["/run.sh"]
environment:
ENV_FLINK_S3_ENDPOINT: "sc:9010"
volumes:
- ./volume/data/:/data/
-
-
重启服务,在安装管理器解压路径下执行
bash service.sh restartall
-
修改 docker-compose.yaml 文件(默认路径为:
/data/mingdao/script/docker-compose.yaml)-
添加 flink 服务
- Linux amd64
- Linux arm64
flink:
image: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-flink:1.19.720
entrypoint: ["/bin/bash"]
command: ["/run.sh"]
environment:
ENV_FLINK_S3_ENDPOINT: "flink-minio:9000"
volumes:
- ./volume/data/:/data/flink:
image: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-flink-arm64:1.19.720
entrypoint: ["/bin/bash"]
command: ["/run.sh"]
environment:
ENV_FLINK_S3_ENDPOINT: "flink-minio:9000"
volumes:
- ./volume/data/:/data/ -
添加 flink-minio 服务,为 flink 服务独立部署一个 minio 服务存储相关数据
- Linux amd64
- Linux arm64
flink-minio:
container_name: flink-minio
image: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-minio:RELEASE.2025-04-22T22-12-26Z
environment:
MINIO_ROOT_USER: "mdstorage"
MINIO_ROOT_PASSWORD: "eBxExGQJNhGosgv5FQJiVNqH"
volumes:
- ./volume/data/:/data/
command: minio server /data/flink-minio --console-address ":9001"flink-minio:
container_name: flink-minio
image: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-minio-arm64:RELEASE.2025-04-22T22-12-26Z
environment:
MINIO_ROOT_USER: "mdstorage"
MINIO_ROOT_PASSWORD: "eBxExGQJNhGosgv5FQJiVNqH"
volumes:
- ./volume/data/:/data/
command: minio server /data/flink-minio --console-address ":9001" -
app 服务添加
ENV_FLINK_URL环境变量app:
environment:
ENV_FLINK_URL: "http://flink:8081"
-