关于 Apache DolphinScheduler

Apache DolphinScheduler(incubator) 于 17 年在易观数科立项, 19 年 8 月进入 Apache 孵化器,已有 400+ 公司在生产上使用,代码+文档贡献者近 200 位。DolphinScheduler (简称DS)致力于使大数据任务调度开箱即用,它以拖拉拽的可视化方式将各种任务间的关系组装成 DAG(有向无环图),并实时监控整个数据pipeline的运行状态,同时支持失败重试、重跑、恢复失败、补数等大数据常用操作
GitHub 地址:http://github.com/apache/

DS 解决的问题

升级步骤

1、下载 1.3.4 安装包

wget https://mirror.bit.edu.cn/apache/incubator/dolphinscheduler/1.3.4/apache-dolphinscheduler-incubating-1.3.4-dolphinscheduler-bin.tar.gz

2、停止 dolphinscheduler( 简称 ds) 所有服务

sh ./bin/stop-all.sh

3、备份数据库和 ds 部署目录

3.1 备份 ds 软件目录(我是用 dolphinscheduler 这个用户部署 ds 1.2.1 到 /usr/local/ 下了)

mv /usr/local/dolphinscheduler  /usr/local/dolphinscheduler-1.2.1
mkdir dolphinscheduler
chown dolphinscheduler:dolphinscheduler dolphinscheduler
# 保险起见也备份一下 用于保存上传资源文件(shell脚本、jar等)的目录
cp /data01/dsdata/dolphinscheduler /data01/dsdata/dolphilnscheduler-1.2.1

3.2 备份数据库

mysqldump --login-path=xx_adm3306 -B dolphinscheduler > /data/dixxxo_bak.dmp

4、解压&安装

tar -zxvf apache-dolphinscheduler-incubating-1.3.4-dolphinscheduler-bin.tar.gz -C /opt/dolphinscheduler/

mv apache-dolphinscheduler-incubating-1.3.4-dolphinscheduler-bin  dolphinscheduler-1.3.4-bin
  • 升级数据库

修改 conf/datasource.properties

#mysql

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/dolphinscheduler?characterEncoding=UTF-8

spring.datasource.username=dolphinscheduler

spring.datasource.password=iixxx

拷贝数据库驱动包至 lib 目录 下

cp /usr/local/dolphinscheduler/lib/mysql-connector-java-8.0.18.jar   ./lib/

执行数据库升级脚本

sh ./script/upgrade-dolphinscheduler.sh

  • 升级软件

修改 env/dolphinscheduler_env.sh (具体请以自己的hadoop、spark等各软件所在的路径为准)

export HADOOP_HOME=/opt/soft/hadoop

export HADOOP_CONF_DIR=/opt/soft/hadoop/etc/hadoop

export SPARK_HOME1=/opt/soft/spark1

export SPARK_HOME2=/opt/soft/spark2

export PYTHON_HOME=/usr/bin/python

export JAVA_HOME=/usr/local/java/jdk1.8.0_131

export HIVE_HOME=/opt/soft/hive

export FLINK_HOME=/opt/soft/flink

export DATAX_HOME=/usr/local/dataxnew/bin/datax.py

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

修改 install.sh 配置内容(本案例是单机,多机也需修改下以下相关的配置即可)

vi config/install_config.conf

# postgresql or mysql

dbtype="mysql"

# db config

# db address and port

dbhost="127.0.0.1:3306"

# db username

username="dolphinscheduler"

# database name

dbname="dolphinscheduler"

# db passwprd

password="iiwxxxk"

# zk cluster

zkQuorum="ds1:2181"

installPath="/usr/local/dolphinscheduler"

# deployment user

deployUser="dolphinscheduler"

# alert config

# mail server host

mailServerHost="smtp.163.com"

# mail server port

mailServerPort="465"

# sender

mailSender="176xxxx668@163.com"

# user

mailUser="176xx6668"

# sender password

mailPassword="Dxx9870108"

# TLS mail protocol support

starttlsEnable="false"

# SSL mail protocol support

sslEnable="true"

#note: sslTrust is the same as mailServerHost

sslTrust="smtp.163.com"

# resource storage type:HDFS,S3,NONE

resourceStorageType="HDFS"

# if resourceStorageType is HDFS,defaultFS write namenode address

defaultFS="file:///data01/dsdata/dolphinscheduler"

# resource store on HDFS/S3 path,

resourceUploadPath="/data01/dsdata/dolphinscheduler/hdfs"

# who have permissions to create directory under HDFS/S3 root path

hdfsRootUser="dolphinscheduler"

# kerberos config

kerberosStartUp="false"

# api server port

apiServerPort="12345"

# install hosts

ips="ds1"

# ssh port, default 22

sshPort="60022"

# run master machine

masters="ds1"

# run worker machine

workers="ds1:default"

# run alert machine

alertServer="ds1"

# run api machine

apiServers="ds1"

以下文件可在执行安装脚本后执行,安装脚本会替换下面文件中的参数值,但是有些参数不会替换需要手动修改确认。

修改 common.properties

data.basedir.path=/data01/dsdata/dolphinscheduler

修改 zookeeper.properties

zookeeper.quorum=ds1:2181

zookeeper.dolphinscheduler.root=/dolphinscheduler

zookeeper.session.timeout=60000

zookeeper.connection.timeout=30000

zookeeper.retry.base.sleep=100

zookeeper.retry.max.sleep=30000

zookeeper.retry.maxtime=10

修改master.properties

master.max.cpuload.avg=100

master.reserved.memory=0.1

修改worker.properties

worker.max.cpuload.avg= 100

worker.reserved.memory=0.1

最后执行升级脚本

sh install.sh

升级后遇到的问题总结

1、管理控制台无法登陆

http://10.4.34.15:12345/dolphinscheduler/ui/#/home

清理浏览器缓存并登陆管理后台

2、任务分发失败提示没有分组(我1.2.1配置有datax worker group组)

添加分组 1.2.1 分组是通过界面控制,1.3.4 分组通过配置文件 worker.properties 在该配置文件中添加

worker.groups=default,datax

写在文末

因为 DS 在设计之初就确定了版本向后兼容的目标,整个升级过程来说还是不难,但生产环境无小事,建议在升级过程中能先测试演练的先演练一遍,练熟了在升级生产环境

Who's using DolphinScheduler

参与贡献

随着国内开源的崛起,DolphinScheduler迎来了蓬勃发展,为了做更好用的调度,真诚欢迎热爱开源的伙伴加入到开源社区中来,为中国开源崛起献上一份自己的力量,青春在开源上留下一点印记

参与 DolphinScheduler 社区有非常多的参与贡献的方式,包括:

贡献第一个PR(文档、代码) 我们也希望是简单的,第一个PR用于熟悉提交的流程和社区协作以及感受社区的友好度

社区汇总了以下适合新手的问题列表:https://github.com/apache/incubator-dolphinscheduler/issues/4124

如何参与贡献链接:https://dolphinscheduler.apache.org/zh-cn/docs/development/contribute.html

文档 github 地址:https://github.com/apache/incubator-dolphinscheduler-website

来吧,DolphinScheduler开源社区需要您的参与,为中国开源崛起添砖加瓦吧,哪怕只是小小的一块瓦,汇聚起来的力量也是巨大的

如果您想参与贡献,却发现上述方法都搞不明白,也没关系,我们有个开发者种子孵化群,可以添加微信(easyworkflow) 手把手教会您,添加时请说明想参与贡献哈

DolphinScheduler开源社区非常期待您的参与。

DolphinScheduler's Github Repo 传送门

↓↓↓

https://github.com/apache/incubator-dolphinscheduler

喜欢️ DolphinScheduler 的话,别忘了 Star 收藏一下哟~

Apache DolphinScheduler 如何从 1.2.1 升级到 1.3.4的更多相关文章

  1. 数据平台调度升级改造 | 从Azkaban 平滑过度到 Apache DolphinScheduler 的操作实践

    Fordeal的数据平台调度系统之前是基于Azkaban进行二次开发的,但是在用户层面.技术层面都存在一些痛点问题难以被解决.比如在用户层面缺少任务可视化编辑界面.补数等必要功能,导致用户上手难体验差 ...

  2. Apache DolphinScheduler 2.0.1 来了,备受期待的一键升级、插件化终于实现

    ✎ 编 者 按:好消息!Apache DolphinScheduler 2.0.1 版本正式发布! 本版本中,DolphinScheduler 经历了一场微内核+插件化的架构改进,70% 的代码被重构 ...

  3. Apache DolphinScheduler 3.0.0 正式版发布!

    ​  点亮 ️ Star · 照亮开源之路 GitHub:https://github.com/apache/dolphinscheduler   ​ 版本发布 2022/8/10 2022 年 8 ...

  4. 日均 6000+ 实例,TB 级数据流量,Apache DolphinScheduler 如何做联通医疗大数据平台的“顶梁柱”?

    作者 | 胡泽康 鄞乐炜 作者简介 胡泽康 联通(广东)产业互联网公司  大数据工程师,专注于开源大数据领域,从事大数据平台研发工作 鄞乐炜 联通(广东)产业互联网公司 大数据工程师,主要从事大数据平 ...

  5. 大数据平台迁移实践 | Apache DolphinScheduler 在当贝大数据环境中的应用

    大家下午好,我是来自当贝网络科技大数据平台的基础开发工程师 王昱翔,感谢社区的邀请来参与这次分享,关于 Apache DolphinScheduler 在当贝网络科技大数据环境中的应用. 本次演讲主要 ...

  6. Apache DolphinScheduler ASF 孵化器毕业一周年,汇报来了!

    不知不觉,Apache DolphinScheduler 已经从 Apache 软件基金会(以下简称 ASF)孵化器毕业一年啦! 北京时间 2021 年 4 月 9 日,ASF 官方宣布 Apache ...

  7. 论语音社交视频直播平台与 Apache DolphinScheduler 的适配度有多高

    在 Apache DolphinScheduler& Apache ShenYu(Incubating) Meetup 上,YY 直播 软件工程师 袁丙泽 为我们分享了<YY直播基于Ap ...

  8. Apache DolphinScheduler&ShenYu(Incubating) 联合 Meetup,暖春 3 月与你相约!

    云霞出海曙,梅柳渡江春. 2022 年的早春在疫情中显得格外生机勃勃,虽然接下来寒流仍有可能造访国内部分地区,但开源的世界,早已热闹非凡! 2022 年 3 月 26 日(星期六), Apache D ...

  9. WorkflowAsCode 来了,Apache DolphinScheduler 2.0.2 惊喜发布

    文章目录 前言 01 新功能 1 WorkflowAsCode 2 企业微信告警方式支持群聊消息推送 02 优化 1 简化元数据初始化流程 2 删除补数日期中的"+1"(天) 03 ...

随机推荐

  1. CoaXPress 简介

    CoaXPress 背景 CoaXPress (简称CXP)是指一种采用同轴线缆进行互联的相机数据传输标准,主要用于替代之前的cameralink协议,常见于科学相机.工业相机.医学图像.航空防务等场 ...

  2. DirectX11 With Windows SDK--40 抗锯齿:FXAA

    前言 在默认的情况下渲染,会看到物体的边缘会有强烈的锯齿感,究其原因在于采样不足.但是,尝试提升采样的SSAA会增大渲染的负担:而硬件MSAA与延迟渲染又不能协同工作.为此我们可以考虑使用后处理的方式 ...

  3. 服务器安装mysql遇到的坑

    服务器安装mysql遇到的坑 一.CentOS7安装MySQL 1.下载:MySQL官方的 Yum Repository wget -i -c http://dev.mysql.com/get/mys ...

  4. Spring Ioc源码分析系列--@Autowired注解的实现原理

    Spring Ioc源码分析系列--@Autowired注解的实现原理 前言 前面系列文章分析了一把Spring Ioc的源码,是不是云里雾里,感觉并没有跟实际开发搭上半毛钱关系?看了一遍下来,对我的 ...

  5. conda cheat sheet可直接百度这个名字

  6. 【抬杠C#】如何实现接口的base调用

    背景 在三年前发布的C#8.0中有一项重要的改进叫做接口默认实现,从此以后,接口中定义的方法可以包含方法体了,即默认实现.不过对于接口的默认实现,其实现类或者子接口在重写这个方法的时候不能对其进行ba ...

  7. Citus 11 for Postgres 完全开源,可从任何节点查询(Citus 官方博客)

    Citus 11.0 来了! Citus 是一个 PostgreSQL 扩展,它为 PostgreSQL 添加了分布式数据库的超能力. 使用 Citus,您可以创建跨 PostgreSQL 节点集群透 ...

  8. linux-python安装pip

    wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate sudo python3 get-pip.py linux 建立软连接 ...

  9. MySQL-4-DDL

    DDL:数据定义语言 创建create 创建库 语法:create database [if not exists]库名 # 创建库 CREATE DATABASE IF NOT EXISTS boo ...

  10. JAVA设计模式总结—建造者模式

    建造者模式 模式动机与定义 ​ 首先建造者模式的动机是为了创建复杂对象,简化传统的创建方法,提高创建的效率和可读性. ​ 像图中的这个例子,用户的需求是驾驶一辆汽车,但是对于用户来说是不需要了解汽车装 ...