天天看點

開源任務排程器-DolphinScheduler叢集安裝

作者:白楊Shayne

前言

上一遍已經推薦了開源任務排程器DolphinScheduler,這款排程器開源免費,支援關系資料庫排程、Hive、Spark、Flink、Shell、Datax、任務依賴、ClickHouse等,支援告警;今天把叢集安裝過程也整理出來,提供給需要的人參考。

一、安裝前準備工作

  • 1.依賴元件安裝

JDK1.8+

Mysql5.7+

Zookeeper3.4.6+

有過幾年開發部署經驗的人應該對這些元件都很熟悉了,安裝過程網上随便一搜一大把,就不一一列出了。

  • 2.伺服器配置設定
開源任務排程器-DolphinScheduler叢集安裝
  • 3.建立使用者dolphinscheduler,并配置sudo權限,伺服器之間做免密,因為後面要遠端安裝

二、子產品介紹

  • dolphinscheduler-master master子產品,提供工作流管理和編排服務。
  • dolphinscheduler-worker worker子產品,提供任務執行管理服務。
  • dolphinscheduler-alert 告警子產品,提供 AlertServer 服務。
  • dolphinscheduler-api web應用子產品,提供 ApiServer 服務。

三、下載下傳

位址:https://dolphinscheduler.apache.org/zh-cn/download/deployment?t=standalone

選擇最新的版本下載下傳,3.x目前已經很穩定了,我最開始用3.0.1,被坑了很多回。

開源任務排程器-DolphinScheduler叢集安裝

四、修改配置檔案

把下載下傳的安裝包上傳到其中一台伺服器解壓并配置,安裝時會把對應的元件遠端安裝到其它伺服器。

  • 修改 install_env.sh 檔案
# ---------------------------------------------------------
# INSTALL MACHINE
# ---------------------------------------------------------
# Due to the master, worker, and API server being deployed on a single node, the IP of the server is the machine IP or localhost
ips="192.168.0.1,192.168.0.2,192.168.0.3"
sshPort="22"
masters="192.168.0.1"
workers="192.168.0.2:default,192.168.0.3:default"
alertServer="192.168.0.1"
apiServers="192.168.0.1"

# DolphinScheduler installation path, it will auto-create if not exists
installPath=~/dolphinscheduler

# Deploy user, use the user you create in section **Configure machine SSH password-free login**
deployUser="dolphinscheduler"           
  • 修改 dolphinscheduler_env.sh 檔案
# JAVA_HOME, will use it to start DolphinScheduler server
export JAVA_HOME=${JAVA_HOME:-/datajava}

# Database related configuration, set database type, username and password
export DATABASE=${DATABASE:-mysql}
export SPRING_PROFILES_ACTIVE=${DATABASE}
export SPRING_DATASOURCE_URL="jdbc:mysql://xxx.xxx.xxx.xxx:3306/dolphinscheduler"
export SPRING_DATASOURCE_USERNAME=xxxxxx
export SPRING_DATASOURCE_PASSWORD=xxxxxx

# DolphinScheduler server related configuration
export SPRING_CACHE_TYPE=${SPRING_CACHE_TYPE:-none}
export SPRING_JACKSON_TIME_ZONE=${SPRING_JACKSON_TIME_ZONE:-UTC}
export MASTER_FETCH_COMMAND_NUM=${MASTER_FETCH_COMMAND_NUM:-10}

# Registry center configuration, determines the type and link of the registry center
export REGISTRY_TYPE=${REGISTRY_TYPE:-zookeeper}
export REGISTRY_ZOOKEEPER_CONNECT_STRING=${REGISTRY_ZOOKEEPER_CONNECT_STRING:-192.168.0.1:2181,192.168.0.2:2181,192.168.0.3:2181}

# Tasks related configurations, need to change the configuration if you use the related tasks.
export HADOOP_HOME=${HADOOP_HOME:-/data/hadoop}
export HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-/data/hadoop/etc/hadoop}
export SPARK_HOME1=${SPARK_HOME1:-/data/spark1}
export SPARK_HOME2=${SPARK_HOME2:-/data/spark2}
export PYTHON_HOME=${PYTHON_HOME:-/data/python}
export HIVE_HOME=${HIVE_HOME:-/data/hive}
export FLINK_HOME=${FLINK_HOME:-/data/flink}
export DATAX_HOME=${DATAX_HOME:-/data/datax}

export PATH=$HADOOP_HOME/bin:$SPARK_HOME1/bin:$SPARK_HOME2/bin:$PYTHON_HOME/bin:$JAVA_HOME/bin:$HIVE_HOME/bin:$FLINK_HOME/bin:$DATAX_HOME/bin:$PATH           

五、初始化資料庫

  • 1.上傳mysql-connect-java.jar包
下載下傳 mysql-connector-java 驅動 (8.0.16) 并移動到 DolphinScheduler 的每個子產品的 libs 目錄下,其中包括 api-server/libs 和 alert-server/libs 和 master-server/libs 和 worker-server/libs。
  • 2.建立資料庫
mysql> CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

# 修改 {user} 和 {password} 為你希望的使用者名和密碼
mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'%' IDENTIFIED BY '{password}';
mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'localhost' IDENTIFIED BY '{password}';

mysql> flush privileges;           
  • 3.初始化資料庫
./tools/bin/upgrade-schema.sh

六、啟動安裝

執行以下指令,等待執行完成,所有的伺服器就都安裝好了,非常友善

./bin/install.sh

七、啟動叢集

一鍵開啟叢集所有服務

./bin/start-all.sh

停止叢集的指令如下

./bin/stop-all.sh

八、登入 DolphinScheduler

浏覽器通路位址 http://192.168.0.1:12345/dolphinscheduler/ui 即可登入系統UI。

預設的使用者名和密碼是 admin / dolphinscheduler123

開源任務排程器-DolphinScheduler叢集安裝
開源任務排程器-DolphinScheduler叢集安裝

繼續閱讀