天天看点

开源任务调度器-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集群安装

继续阅读