Flinkのデプロイ方法
ヒント
- Flinkサービスは、HAPシステムのオプション拡張モジュールです。実際の利用ニーズに応じて有効化を選択できます。
- 有効化前に、Dockerのバージョンが20.10.16以上であること、およびサーバーに8GB以上の未使用物理メモリがあることを必ずご確認ください。
- HAPが稼働しているサーバーのメモリが32GBの場合、本モジュールを追加有効化しないでください。メモリ不足が深刻化し、システムの可用性に影響を与える可能性があります。有効化する場合、64GB以上へ増設することを推奨します。
スタンドアロン(単体)デプロイモードで迅速にインストールするには、以下の手順に従ってください(クラスターモードのデプロイは比較的複雑なため、HAPチームへご相談いただけます)。
-
Flink イメージのダウンロード
(オフラインパッケージダウンロード)- Linux amd64
- Linux arm64
docker pull nocoly/flink:1.19.720docker pull nocoly/flink-arm64:- -
下記コマンドを実行し、出力に
start minioのキーワードを含む行が存在するか確認します。docker logs $(docker ps | grep sc | awk '{print $1}') | grep minio
- 出力ありの場合
- 出力なしの場合
-
docker-compose.yamlファイルを修正します(デフォルトパス:/data/hap/script/docker-compose.yaml) -
Flinkサービスを追加します
- Linux amd64
- Linux arm64
flink:image: nocoly/flink:1.19.720entrypoint: ["/bin/bash"]command: ["/run.sh"]environment:ENV_FLINK_S3_ENDPOINT: "sc:9010"volumes:- ./volume/data/:/data/flink:image: nocoly/flink-arm64:-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: 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" # 新規:Flinkサービス有効化
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/
version: '3'
services:
app:
image: nocoly/hap-arm64:-
environment: &app-environment
ENV_ADDRESS_MAIN: "https://hap.domain.com"
ENV_APP_VERSION: "-"
ENV_API_TOKEN: "******"
ENV_FLINK_URL: "http://flink:8081" # 新規:Flinkサービス有効化
ports:
- 8880:8880
volumes:
- ./volume/data/:/data/
- ../data:/data/hap/data
sc:
image: nocoly/sc-arm64:-
environment:
<<: *app-environment
volumes:
- ./volume/data/:/data/
command:
image: nocoly/command-arm64:-
doc:
image: nocoly/doc-arm64:-
# --- 新規追加サービス ---
flink:
image: nocoly/flink-arm64:-
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/hap/script/docker-compose.yaml) -
Flinkサービスを追加します
- Linux amd64
- Linux arm64
flink:image: nocoly/flink:1.19.720entrypoint: ["/bin/bash"]command: ["/run.sh"]environment:ENV_FLINK_S3_ENDPOINT: "flink-minio:9000"volumes:- ./volume/data/:/data/flink:image: nocoly/flink-arm64:-entrypoint: ["/bin/bash"]command: ["/run.sh"]environment:ENV_FLINK_S3_ENDPOINT: "flink-minio:9000"volumes:- ./volume/data/:/data/ -
Flink用にMinIOサービスを新規導入し、Flinkに関連するデータストレージを独立してデプロイします
- Linux amd64
- Linux arm64
flink-minio:container_name: flink-minioimage: nocoly/minio:RELEASE.2025-04-22T22-12-26Zenvironment: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-minioimage: nocoly/minio-arm64:RELEASE.2025-04-22T22-12-26Zenvironment: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"
記述例
- Linux amd64
- Linux arm64
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" # 新規追加
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: "flink-minio:9000"
volumes:
- ./volume/data/:/data/
flink-minio:
container_name: flink-minio
image: nocoly/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"
version: '3'
services:
app:
image: nocoly/hap-arm64:-
environment: &app-environment
ENV_ADDRESS_MAIN: "https://hap.domain.com"
ENV_APP_VERSION: "-"
ENV_API_TOKEN: "******"
ENV_FLINK_URL: "http://flink:8081" # 新規追加
ports:
- 8880:8880
volumes:
- ./volume/data/:/data/
- ../data:/data/hap/data
sc:
image: nocoly/sc-arm64:-
environment:
<<: *app-environment
volumes:
- ./volume/data/:/data/
command:
image: nocoly/command-arm64:-
doc:
image: nocoly/doc-arm64:-
# 新規追加コンテンツ
flink:
image: nocoly/flink-arm64:-
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/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"
-
MinIOイメージをダウンロードします
- Linux amd64
- Linux arm64
docker pull nocoly/minio:RELEASE.2025-04-22T22-12-26Zdocker pull nocoly/minio-arm64:RELEASE.2025-04-22T22-12-26Zインターネット環境がない場合、まずオフラインイメージファイルをダウンロードしてサーバーにアップロードし、イメージファイルのインポートを完了させてください。オフラインイメージダウンロードリンク:
- Linux amd64
- Linux arm64
https://pdpublic.nocoly.com/offline/minio-linux-amd64-RELEASE.2025-04-22T22-12-26Z.tar.gzhttps://pdpublic.nocoly.com/offline/minio-linux-arm64-RELEASE.2025-04-22T22-12-26Z.tar.gz -
サービスを再起動します。インストールマネージャの解凍パスで下記コマンドを実行してください。
bash service.sh restartall -
再起動中に、新しいターミナルを開き以下のコマンドでFlink用バケットを作成します
docker exec -it flink-minio bashmc alias set myminio http://127.0.0.1:9000 mdstorage eBxExGQJNhGosgv5FQJiVNqHmc mb myminio/mdoc