如何将 Flink 服务独立部署
数据集成是 HAP 系统中的扩展模块,用户可自主选择是否启用,快速部署可参考启用数据集成功能
快速部署是将数据集成功能依赖的 Flink 服务部署在与 HAP 微服务同一台服务器上,对硬件的可用资源要求较高,如果单台服务器无法满足,可以参考此文档将 Flink 服务独立部署在一台新服务器上,服务器配置可参考单机数据集成服务器配置
安装 Docker
安装 Docker,可参考官方对不同 Linux 版本的 安装说明 或 参考部署示例中的 Docker 安装章节
检查当前 HAP 服务是否有包含独立 MinIO 服务
在 HAP 服务器执行下方命令,检查是否有输出包含关键字 start minio
的一行内容
docker logs $(docker ps | grep mingdaoyun-sc | awk '{print $1}') | grep minio
-
有输出则代表有独立 MinIO 服务
-
无输出则代表没有独立 MinIO 服务
HAP 微服务调整
- 有独立 MinIO 服务
- 无独立 MinIO 服务
Flink 服务需要访问 MinIO、Kafka、MongoDB 服务,这时需要映射出 HAP 单机模式存储组件容器中的这三个服务访问端口,如果 HAP 为集群模式则不需要调整。
请参考以下配置示例,修改 docker-compose.yaml 文件
-
添加 MinIO、Kafka 和 MongoDB 的服务端口映射
聚合表功能需要 Flink 能够访问 MongoDB 服务,如果不启用聚合表功能则可以不映射 MongoDB 端口。
如果需要映射出 MongoDB 端口,单机模式内置的的 MongoDB 默认未开启认证,操作前请仔细阅读关于 数据安全 的文档。
-
配置 HAP 连接 Flink 服务的环境变量
app:
environment:
ENV_FLINK_URL: http://192.168.10.30:58081 # 新增,填写 Flink 服务的地址,注意修改为实际的 IP 地址
sc:
ports:
- 9010:9010 # 新增 MinIO 端口映射
- 9092:9092 # 新增 Kafka 端口映射
- 27017:27017 # 新增 MongoDB 端口映射docker-compose.yaml 配置文件示例
version: '3'
services:
app:
image: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-community:6.4.0
environment: &app-environment
ENV_ADDRESS_MAIN: "https://hap.domain.com"
ENV_APP_VERSION: "6.4.0"
ENV_API_TOKEN: "******"
ENV_FLINK_URL: http://192.168.10.30:58081 # 新增,填写 Flink 服务的地址,注意修改为实际的 IP 地址
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/
ports:
- 9010:9010 # 新增 MinIO 端口映射
- 9092:9092 # 新增 Kafka 端口映射
- 27017:27017 # 新增 MongoDB 端口映射
volumes:
- ./volume/data/:/data/