動作要件
OS バージョン
| ディストリビューション | 推奨バージョン |
|---|---|
| Red Hat Enterprise Linux | 7.x 以降 |
| CentOS | 7.x 以降 |
| Oracle Linux | 7.x 以降 |
| Ubuntu LTS | 16.04 以降 |
ハードウェア仕様
| CPU | メモリ | ディスク | ネットワーク | ノード数 |
|---|---|---|---|---|
| 4 コア以上 | 8 GB 以上 | SAS | 1 Gbps NIC | 1 台以上 |
デプロイ方式の選択
DolphinScheduler は以下の 3 パターンに対応しています。
- Standalone:すべてのサービスが 1 プロセス内で稼働。組み込み ZooKeeper / H2 を使用し、すぐに動作確認できる。
- Pseudo-Cluster:単一ノードに各ロール(Master, Worker, API, Logger, Alert)を分散配置。ZooKeeper と RDBMS は別途準備。
- Cluster:複数ノードに各ロールを配置し、冗長化・スケールアウトを実現。
疑似クラスタ構築手順
前提ソフトウェアの準備
- JDK 1.8 以上をインストールし
JAVA_HOMEを設定。 - MySQL 5.7+ または PostgreSQL 8.2.15+ を用意。
- ZooKeeper 3.4.6+ を起動可能にしておく。
psmiscをインストール(pstreeコマンドが必要)。
sudo yum install -y psmisc
インストールアーカイブの展開
cd /opt/software tar -zxvf apache-dolphinscheduler-2.0.5-bin.tar.gz
メタデータベースの作成
CREATE DATABASE ds_meta DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; CREATE USER 'ds_user'@'%' IDENTIFIED BY 'Ds#2024!Pass'; GRANT ALL PRIVILEGES ON ds_meta.* TO 'ds_user'@'%'; FLUSH PRIVILEGES;
インストール設定ファイルの編集
conf/config/install_config.conf を以下のように修正。
ips="node1" sshPort="22" masters="node1" workers="node1:default" alertServer="node1" apiServers="node1" installPath="/opt/dolphin" deployUser="root" dataBasedirPath="/tmp/dolphin" javaHome="/usr/lib/jvm/java-JDK1.8.0_241" apiServerPort="12345" DATABASE_TYPE="mysql" SPRING_DATASOURCE_URL="jdbc:mysql://node1:3306/ds_meta?useUnicode=true&characterEncoding=UTF-8" SPRING_DATASOURCE_USERNAME="ds_user" SPRING_DATASOURCE_PASSWORD="Ds#2024!Pass" registryPluginName="zookeeper" registryServers="192.168.88.100:2181" registryNamespace="dolphinscheduler" resourceStorageType="HDFS" resourceUploadPath="/dolphinscheduler" defaultFS="hdfs://node1:8020" singleYarnIp="node1" hdfsRootUser="ds" sudoEnable="true" workerTenantAutoCreate="false"
データベース初期化
- MySQL JDBC Driver 8.0.16 を
lib/に配置。
cp /opt/software/mysql-connector-java-8.0.16.jar lib/
- スクリプト実行。
bash script/create-dolphinscheduler.sh
サービス起動
- ZooKeeper 起動。
zkServer.sh start
- ワンライナーでインストール&起動。
./install.sh
- プロセス確認。
jps | grep -E 'Master|Worker|Api|Alert|Logger'
- ブラウザで
http://node1:12345/dolphinschedulerにアクセス。
初期ユーザー:admin/ パスワード:dolphinscheduler123
個別サービスの起動・停止
# 全サービス bin/start-all.sh bin/stop-all.sh # Master のみ bin/dolphinscheduler-daemon.sh start master-server bin/dolphinscheduler-daemon.sh stop master-server # Worker のみ bin/dolphinscheduler-daemon.sh start worker-server bin/dolphinscheduler-daemon.sh stop worker-server # API サーバーのみ bin/dolphinscheduler-daemon.sh start api-server bin/dolphinscheduler-daemon.sh stop api-server # Logger サーバーのみ bin/dolphinscheduler-daemon.sh start logger-server bin/dolphinscheduler-daemon.sh stop logger-server # Alert サーバーのみ bin/dolphinscheduler-daemon.sh start alert-server bin/dolphinscheduler-daemon.sh stop alert-server
トラブルシューティング
- Master / Worker が起動しない
ログ確認:
tail -100f logs/dolphinscheduler-worker-server-*.out
- ZooKeeper 未起動
zoo.cfgを調整後、再スタート。