关于 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. 选择器补充与CSS属性

    目录 伪元素选择器 选择器优先级 CSS属性 宽和高 字体样式 文字属性 背景属性 边框属性 display属性 盒子模型 浮动(float) 清除浮动 伪元素选择器 伪元素选择器可以通过CSS操作文 ...

  2. python闭包函数与装饰器

    目录 闭包函数 闭包概念 实际应用 装饰器 简介 简单版本装饰器 进阶版本装饰器 完整版本装饰器 装饰器模板 装饰器语法糖 装饰器修复技术 问题 答案 闭包函数 闭包概念 闭:定义在函数内部的函数 包 ...

  3. flex布局的总结

    1.开启了flex布局的元素叫: flex container 2.里面的直接子元素叫:flex items(默认情况下,所有item都会在一行显示) 3.display属性由flex和inline- ...

  4. 关于『HTML5』第一弹

    关于『HTML5』:第一弹 建议缩放90%食用 祝各位国庆节快乐!!1 经过了「过时的 HTML」.「正当时的 Markdown」的双重洗礼后,我下定决心,好好学习HTML5  这回不过时了吧(其实和 ...

  5. MySQL数据库4

    内容概要 查询关键字 查询关键字之having过滤 查询关键字之distinct去重 查询关键字之order by排序 查询关键字之limit分页 查询关键字之regexp正则 多表查询思路 可视化软 ...

  6. 运筹学笔记12 大M法

    引入M,其中M是一个充分大的正数.由此,目标函数也改变为zM. 如此构造的线性规划问题我们记作LPM,称之为辅助线性规划问题,也即在原来的线性规划问题的基础上,改造了其等式约束条件,然后有对目标函数施 ...

  7. GIF录制工具下载

    GIF录制工具(GifCam)下载地址: https://files.cnblogs.com/files/blogs/747754/GifCam.rar

  8. 针对elementUI 中InfiniteScroll按需引入的一点注意事项

    大家为了节省空间,常常进行按需引入来节省空间,这里我给大家来介绍一下element中按需引入无限滚动指令注意的事项. 针对前面element 按需引入的一些配置这里就不再详细介绍了. 那么这里讲的是在 ...

  9. Linux shell 2>&1的意思

    在脚本里经常看到 ./xxx.sh > /dev/null 2>&1 ./xxx.sh > log.file 2>&1 在shell中输入输出都有对应的文件描述 ...

  10. 从位图到布隆过滤器,C#实现

    前言 本文将以 C# 语言来实现一个简单的布隆过滤器,为简化说明,设计得很简单,仅供学习使用. 感谢@时总百忙之中的指导. 布隆过滤器简介 布隆过滤器(Bloom filter)是一种特殊的 Hash ...