任务调度器-DolphinScheduler3集群安装

【背景】

    我本身是从事大数据开发工作的,在一些外部项目或者一些不太成熟的公司,是没有任务调度器可用的,之前mysql存储过程用自带的event事件调度,一般抽数用Kettle+crontab调度,虽然也可以用,但这些调度器没有可视化界面,查询日志、任务进度、补数都不太好用,后面接触到了DolphinScheduler,这款调度器开源免费,支持关系数据库调度、Hive、Spark、Flink、Shell、Datax、任务依赖、ClickHouse等,支持告警,反正你能用到的基本上都支持了,用后爱不释手,强烈推荐给各位大佬~

    这篇文章是事后很久的一篇整理文章,当时安装时忘记截图了,所以里面用了官网上的一些图片。

 

    支持的任务类型如下,非常全:

869c815ae9b34941afa16db3aa5c1da4.png

df00ca7c8412449988203696e17084bc.png

 

 支持工作量DGA 配置 

5e40eeab69664bb29aa612b786a6719f.png

 

【正文】

一、安装前准备工作

1.依赖组件安装

  • JDK1.8+
  • Mysql5.7+
  • Zookeeper3.4.6+ 

有过几年开发部署经验的人应该对这些组件都很熟悉了,安装过程网上随便一搜一大把,就不一一列出了。

 

2.服务器分配

服务器安装的组件备注
192.168.0.1

master-server

alter-server

api-server

Mysql5.7

zookeeper

 
192.168.0.2

worker-server

zookeeper

 
192.168.0.3

worker-server

zookeeper

 

 

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,被坑了很多回。

ce52fc8f81dd4c2fa27a9a1a779cecbb.png

 

四、修改配置文件

 把下载的安装包上传到其中一台服务器解压并配置,安装时会把对应的组件远程安装到其它服务器。

修改 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

0329574064aa7cdf0fe36dffb0071498.png

 0d877d31385d4ebb85b5588911ff7e49.png

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Apache DolphinScheduler是一个开源的分布式工作流任务调度系统。部署Apache DolphinScheduler 3.0.6-bin可以按照以下步骤进行: 1. 下载Apache DolphinScheduler 3.0.6-bin的压缩包,可以在官方网站或GitHub上找到。 2. 解压压缩包到目标服务的指定目录。 3. 在解压后的目录中,修改配置文件,根据需求进行相应的配置。主要包括数据库、ZooKeeper和元数据源等配置。 4. 启动ZooKeeper集群,确保集群正常运行。DolphinScheduler需要ZooKeeper来进行任务调度和协调。 5. 初始化DolphinScheduler数据库,通过运行相关的初始化脚本来创建数据库表结构和初始化数据。 6. 配置和启动DolphinScheduler的Master节点,通过修改master.properties文件来配置相关参数,并在启动脚本中指定该配置文件。 7. 配置和启动DolphinScheduler的Worker节点,通过修改worker.properties文件来配置相关参数,并在启动脚本中指定该配置文件。 8. 配置和启动DolphinScheduler的API服务,通过修改api.properties文件来配置相关参数,并在启动脚本中指定该配置文件。 9. 配置和启动DolphinScheduler的Alert客户端,通过修改alert.properties文件来配置相关参数,并在启动脚本中指定该配置文件。 10. 配置和启动DolphinScheduler的Logger客户端,通过修改logger.properties文件来配置相关参数,并在启动脚本中指定该配置文件。 11. 启动DolphinScheduler的调度服务,通过修改调度服务的配置文件来配置相关参数,并在启动脚本中指定该配置文件。 完成以上步骤后,Apache DolphinScheduler 3.0.6-bin就成功部署在目标服务上了。可以通过访问相关的API和界面来管理和监控任务的调度和执行情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白杨Shayne

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值