如何启用数据集成功能
提示
- 数据集成是HAP系统的可选扩展模块,用户可根据实际需求决定是否启用。
- 启用之前请确保 Docker 版本在 20.10.16 及以上,服务器空余物理内存 8G+。
- 当部署HAP的服务器是32G时,请不要再额外启用本模块,否则会加剧内存不足影响系统可用性,建议升级至64GB后再启用。
单机部署模式快速安装可参考如下:(集群部署模式下相对复杂,可联系 HAP 团队协助完成)
-
下载镜像(离线包下载)
docker pull nocoly/hap-flink:1.17.1.530
-
执行下方命令,检查是否有输出包含关键字
start minio
的一行内容docker logs $(docker ps | grep hap-sc | awk '{print $1}') | grep minio
- 有输出
- 无输出
-
修改 docker-compose.yaml 文件(默认路径为:
/data/hap/script/docker-compose.yaml
)-
添加 flink 服务
flink:
image: nocoly/hap-flink:1.17.1.530
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"示例
version: '3'
services:
app:
image: nocoly/hap-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://flink:8081" #新增内容
ports:
- 8880:8880
volumes:
- ./volume/data/:/data/
- ../data:/data/hap/data
sc:
image: nocoly/hap-sc:3.2.0
environment:
<<: *app-environment
volumes:
- ./volume/data/:/data/
command:
image: nocoly/hap-command:node2011-python312
doc:
image: nocoly/hap-doc:2.0.0
# 以下内容为新增
flink:
image: nocoly/hap-flink:1.17.1.530
entrypoint: ["/bin/bash"]
command: ["/run.sh"]
environment:
ENV_FLINK_S3_ENDPOINT: "sc:9010"
volumes:
- ./volume/data/:/data/
-
-
重启 HAP 服务
-
修改 docker-compose.yaml 文件(默认路径为:
/data/hap/script/docker-compose.yaml
)-
添加 flink 服务
flink:
image: nocoly/hap-flink:1.17.1.530
entrypoint: ["/bin/bash"]
command: ["/run.sh"]
environment:
ENV_FLINK_S3_ENDPOINT: "flink-minio:9000"
volumes:
- ./volume/data/:/data/ -
添加 flink-minio 服务,为 flink 服务独立部署一个 minio 服务存储相关数据
flink-minio:
container_name: flink-minio
image: nocoly/hap-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" -
app 服务添加
ENV_FLINK_URL
环境变量app:
environment:
ENV_FLINK_URL: "http://flink:8081"示例
version: '3'
services:
app:
image: nocoly/hap-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://flink:8081" #新增内容
ports:
- 8880:8880
volumes:
- ./volume/data/:/data/
- ../data:/data/hap/data
sc:
image: nocoly/hap-sc:3.2.0
environment:
<<: *app-environment
volumes:
- ./volume/data/:/data/
command:
image: nocoly/hap-command:node2011-python312
doc:
image: nocoly/hap-doc:2.0.0
# 以下内容为新增
flink:
image: nocoly/hap-flink:1.17.1.530
entrypoint: ["/bin/bash"]
command: ["/run.sh"]
environment:
ENV_FLINK_S3_ENDPOINT: "flink-minio:9000"
volumes:
- ./volume/data/:/data/
flink-minio:
container_name: flink-minio
image: nocoly/hap-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"
-
-
下载 minio 镜像
docker pull nocoly/hap-minio:RELEASE.2025-04-22T22-12-26Z
-
若无法访问互联网,请先下载离线镜像文件,上传至服务器后再完成镜像文件的导入。离线镜像文件下载链接:
https://pdpublic.nocoly.com/offline/hap-minio-linux-amd64-RELEASE.2025-04-22T22-12-26Z.tar.gz
-
-
重启 HAP 服务
-
重启等待期间新开一个终端,执行以下命令创建 flink 所需 bucket
docker exec -it flink-minio bash
mc alias set myminio http://127.0.0.1:9000 mdstorage eBxExGQJNhGosgv5FQJiVNqH
mc mb myminio/mdoc