メインコンテンツへ移動

HAP で HDP 機能を有効にする

  1. MySQL データベース MDHDP を作成します。

    1. コンテナに入ります。

      docker exec -it $(docker ps | grep -E 'hap-community|hap:' | awk '{print $1}') bash
    2. MySQL にログインします。

      mysql -h "${ENV_MYSQL_HOST:-sc}" -P "${ENV_MYSQL_PORT:-3306}" -u "${ENV_MYSQL_USERNAME:-root}" -p"${ENV_MYSQL_PASSWORD:-123456}"
    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.720 にアップグレードしてください。

      アップグレード時の注意

      Flink のアップグレード後、既存のデータ連携同期タスクと集計テーブルは、手動で再起動するまで動作を再開しません。

  4. HDP イメージをダウンロードします(オフラインパッケージのダウンロード)。

    docker pull nocoly/hdp:1.2.1
  5. docker-compose.yaml を編集します(デフォルトパス:/data/hap/script/docker-compose.yaml)。

    1. hdp サービスを追加します。

      hdp:
      image: nocoly/hdp:1.2.1
      environment:
      <<: *app-environment
    2. app サービスに環境変数 ENV_HDP_ENABLE を追加します。

      app:
      environment:
      ENV_HDP_ENABLE: "true"
      変更例の全体を表示
      version: '3'

      services:
      app:
      image: nocoly/hap:7.5.1
      environment: &app-environment
      ENV_ADDRESS_MAIN: "https://hap.domain.com"
      ENV_APP_VERSION: "7.5.1"
      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.720
      entrypoint: ["/bin/bash"]
      command: ["/run.sh"]
      environment:
      ENV_FLINK_S3_ENDPOINT: "sc:9010"
      volumes:
      - ./volume/data/:/data/

      # --- 以下は追加するサービス ---
      hdp:
      image: nocoly/hdp:1.2.1
      environment:
      <<: *app-environment
  6. インストール管理ツールの展開先で、次のコマンドを実行してサービスを再起動します。

    bash service.sh restartall