关于 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. 个人冲刺(四)——体温上报app(二阶段)

    冲刺任务:完成用户注册功能和数据库类 RegisterActivity.java package com.example.helloworld; import android.content.Inte ...

  2. 技术管理进阶——空降Leader如何开展工作?

    原创不易,求分享.求一键三连 前几天有个粉丝咨询了一个的问题: 最近遇到一个空降Leader,挺苦恼的: 新Leader技术很厉害,但平时根本就不管我们,也不愿意了解业务,更像是一个技术顾问. 具体案 ...

  3. MongoDB 主节点的选举原则

    每日一句 Life is like a shower. One wrong turn and you're in hot water. 生活就像淋浴,方向转错,水深火热. 概述 MongoDB在副本集 ...

  4. 第06组 Beta冲刺 (2/5)

    目录 1.1 基本情况 1.2 冲刺概况汇报 1.郝雷明 2. 方梓涵 3.杜筱 4.黄少丹 5. 董翔云 6.鲍凌函 7.詹鑫冰 8.曹兰英 9.曾丽莉 10.吴沅静 1.3 冲刺成果展示 1.1 ...

  5. java基础题(5)

    6.常用API 6.1string类 1.动态字符串 描述 将一个由英文字母组成的字符串转换成从末尾开始每三个字母用逗号分隔的形式. 输入描述: 一个字符串 输出描述: 修改后的字符串 示例1 输入: ...

  6. JDK1.7HashMap源码分析

       1.1首先HashMap中的Hash(哈希)是什么? Hash也称散列,哈希,对应的英文都是Hash.基本原理就是把任意长度的输入通过Hash算法变成固定长度的输出,这个映射的规则就是对应的Ha ...

  7. easy-captcha生成验证码

    通常一些网页登陆时,都需要通过验证码去登录: 生成验证码的方法有很多,这次分享一个验证码即能是汉字的 又能是算术的. 首先maven坐标: <dependency> <groupId ...

  8. (1)《QT+OpenGL学习之我见》初始化窗口及三个重要函数 vs+Qt

    本章前言:本章讲如何利用VS和QT来创建一个基本的QOpenGLWidget窗口和有关联的三个核心函数,因为版本更新可能会有大同小异,但基本的不会有变换,有了QT的帮助,我们不需要下载opengL.g ...

  9. 对vue响应式的理解

    1.所谓数据响应式就是能够使数据变化可以被检测并对这种变化做出响应的机制. 2.MVVM框架要解决的一个核心问题是连接数据层和视图层,通过数据驱动应用,数据变化,视图更新,要做到这点的就需要对数据做响 ...

  10. Python Socket Sever

    1. Server code 1 # !/usr/bin/env python 2 # coding:utf-8 3 import multiprocessing 4 import socket 5 ...