跳到主要内容

如何启用 HDP 功能

  1. 新建 MySQL 数据库:MDHDP

    1. 进入容器

      docker exec -it $(docker ps | grep -E 'hap-community|hap:' | awk '{print $1}') bash
    2. 登录 MySQL

      mysql -h sc -P 3306 -uroot -p123456
    3. 创建数据库

      CREATE DATABASE IF NOT EXISTS MDHDP DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_general_ci;
  2. 如果已开启 MongoDB 需认证连接,则需要手动创建 mdhdp 数据库,参考 如何新建 MongoDB 数据库

  3. 部署 Flink 服务,参考:如何部署 Flink 服务

    • HDP 功能依赖 Flink 服务,在启用 HDP 功能之前,请确保已成功部署 Flink 服务

    • 如果之前使用数据集成或聚合表功能已部署过 Flink,需要将 Flink 升级到 1.19.710

      升级须知

      Flink 版本升级后,存量的数据集成同步任务及聚合表需手动重新启动后方可恢复运行

  4. 下载 HDP 镜像(离线包下载

    docker pull nocoly/hdp:1.0.0
  5. 修改 docker-compose.yaml 文件(默认路径为:/data/hap/script/docker-compose.yaml

    1. 添加 hdp 服务

        hdp:
      image: nocoly/hdp:1.0.0
      environment:
      <<: *app-environment
    2. app 服务添加 ENV_HDP_ENABLE 环境变量

      app:
      environment:
      ENV_HDP_ENABLE: "true"
      点击查看完整修改示例
      version: '3'

      services:
      app:
      image: nocoly/hap:7.1.0
      environment: &app-environment
      ENV_ADDRESS_MAIN: "https://hap.domain.com"
      ENV_APP_VERSION: "7.1.0"
      ENV_API_TOKEN: "******"
      ENV_FLINK_URL: "http://flink:8081"
      ENV_HDP_ENABLE: "true" # 新增:启用 HDP 功能
      ports:
      - 8880:8880
      volumes:
      - ./volume/data/:/data/
      - ../data:/data/hap/data

      sc:
      image: nocoly/sc:3.2.0
      environment:
      <<: *app-environment
      volumes:
      - ./volume/data/:/data/

      command:
      image: nocoly/command:node2011-python312

      doc:
      image: nocoly/doc:2.0.0

      flink:
      image: nocoly/flink:1.19.710
      entrypoint: ["/bin/bash"]
      command: ["/run.sh"]
      environment:
      ENV_FLINK_S3_ENDPOINT: "sc:9010"
      volumes:
      - ./volume/data/:/data/

      # --- 以下为新增服务 ---
      hdp:
      image: nocoly/hdp:1.0.0
      environment:
      <<: *app-environment
  6. 重启服务,在安装管理器解压路径下执行

    bash service.sh restartall