DolphinScheduler 2.x 単一ノード疑似クラスタ構築手順

動作要件

OS バージョン

ディストリビューション推奨バージョン
Red Hat Enterprise Linux7.x 以降
CentOS7.x 以降
Oracle Linux7.x 以降
Ubuntu LTS16.04 以降

ハードウェア仕様

CPUメモリディスクネットワークノード数
4 コア以上8 GB 以上SAS1 Gbps NIC1 台以上

デプロイ方式の選択

DolphinScheduler は以下の 3 パターンに対応しています。

  • Standalone:すべてのサービスが 1 プロセス内で稼働。組み込み ZooKeeper / H2 を使用し、すぐに動作確認できる。
  • Pseudo-Cluster:単一ノードに各ロール(Master, Worker, API, Logger, Alert)を分散配置。ZooKeeper と RDBMS は別途準備。
  • Cluster:複数ノードに各ロールを配置し、冗長化・スケールアウトを実現。

疑似クラスタ構築手順

前提ソフトウェアの準備

  1. JDK 1.8 以上をインストールし JAVA_HOME を設定。
  2. MySQL 5.7+ または PostgreSQL 8.2.15+ を用意。
  3. ZooKeeper 3.4.6+ を起動可能にしておく。
  4. 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"

データベース初期化

  1. MySQL JDBC Driver 8.0.16 を lib/ に配置。
    cp /opt/software/mysql-connector-java-8.0.16.jar lib/
  2. スクリプト実行。
    bash script/create-dolphinscheduler.sh

サービス起動

  1. ZooKeeper 起動。
    zkServer.sh start
  2. ワンライナーでインストール&起動。
    ./install.sh
  3. プロセス確認。
    jps | grep -E 'Master|Worker|Api|Alert|Logger'
  4. ブラウザで 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 を調整後、再スタート。

タグ: DolphinScheduler 伪集群部署 ZooKeeper MySQL HDFS

7月20日 20:19 投稿