dolphinscheduler安装(代码片段)

李子捌 李子捌     2022-12-10     486

关键词:

1、DS源码编译

1.1 版本规划

DS在成为Apache孵化项⽬之后的最新稳定版是1.3.4,并提供了Flink的⽀持,我们就使⽤1.3.4即可

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

1.2 克隆代码

1git clone https://github.com/apache/incubator-dolphinscheduler.git

1.3 适配HDP3.1

DS依赖于Hadoop、Hive的客户端,因此需要跟HDP整合,索性在1.3.4分⽀的基础上创建HDP分⽀,然后在编译

1.3.1 创建HDP分⽀

1cd incubator-dolphinscheduler
2git checkout 1.3.4
3git checkout -b 1.3.4-hdp3.1.4.0

1.3.2 匹配HDP3.1.4.0

  • 修改顶层pom.xml
1<!--<hadoop.version>2.7.3</hadoop.version>-->
2<hadoop.version>3.1.1</hadoop.version>
3<!--<hive.jdbc.version>2.1.0</hive.jdbc.version>-->
4<hive.jdbc.version>3.1.0</hive.jdbc.version>
  • 变更版本号 修改所有模块的pom.xml
1<!-- <version>1.3.4</version> -->
2<version>1.3.4-hdp3.1.4.0</version>

1.3.3 编译及安装包

1mvn -U clean package -Prelease -Dmaven.test.skip=true

正常编译完后,会在 dolphinscheduler-dist/target⽬录下⽣成如下安装包

1apache-dolphinscheduler-incubating-1.3.4-hdp3.1.4.0-dolphinscheduler-bin.tar.gz

2、DS快速安装

2.1 部署规划

服务node01node02node03
master
worker/logServer
alertServer
apiServer
ui√(Nginx)

2.2 后端部署

2.2.1 依赖组件

组件是否必装说明
PostgreSQL (8.2.15+) orMysql (5.5+)⼆选⼀直接使⽤Ambari的
JDK1.8+必装MySQL5.7早就部署好了
ZooKeeper (3.4.6+)必装HDP⾃带
Hadoop (2.6+) or MinIo选装, 如果需要使⽤到资源上传功能,可以选择Hadoop or MinIoHDP⾃带
Hive(1.2.1)选装,hive任务提交需要安装HDP⾃带
Spark(1.x,2.x)选装,Spark任务提交需要安装HDP⾃带

注意:HDP3.1⾃带的Hadoop、Hive、Spark跟DS需要的不⼀样,因此需要按照《第1章 DS源码编译》来处理

2.2.2 准备⼯作

  • 创建部署⽤户及SSH免密
1在所有需要部署调度的机器上创建部署⽤户,因为worker服务是以 sudo -u linux-user ⽅式来执⾏作业,所以部署⽤户需要有 sudo 权限,⽽且是免密的。
2我们直接采⽤hadoop⽤户就好了,免密早就做好了。
  • 创建数据库 在MySQL部署的那台机器上
1mysql -uroot -p
 1set global validate_password_policy=0;
 2set global validate_password_mixed_case_count=0;
 3set global validate_password_number_count=3;
 4set global validate_password_special_char_count=0;
 5set global validate_password_length=3;
 6CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE
 7utf8_general_ci;
 8CREATE USER 'ds'@'%' IDENTIFIED BY 'ds%123';
 9GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'ds'@'%' IDENTIFIED BY 'ds%123';
10GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'ds'@'localhost' IDENTIFIED BY
11'ds%123';
12flush privileges;
13exit;

2.2.3 正式部署

  • 解压缩安装包 上传后端安装包到hadoop⽤户主⽬录下

apache-dolphinscheduler-incubating-1.3.4-hdp3.1.4.0-dolphinscheduler-bin.tar.gz

1mv apache-dolphinscheduler-incubating-1.3.4-hdp3.1.4.0-dolphinscheduler-bin.tar.gz app/
2cd app
3tar -zxvf apache-dolphinscheduler-incubating-1.3.4-hdp3.1.4.0-dolphinscheduler-bin.tar.gz
4ln -s apache-dolphinscheduler-incubating-1.3.4-hdp3.1.4.0-dolphinscheduler-bin
5dolphinscheduler
6chmod ugo+x dolphinscheduler/bin/*
7chmod ugo+x dolphinscheduler/script/*
8chmod ugo+x dolphinscheduler/install.sh
9chmod ugo+x /home/hadoop/app/dolphinscheduler/conf/env/dolphinscheduler_env.sh
  • ⽬录结构如下
 1|-- bin                 #基础服务启动脚本
 2|-- conf                #配置⽂件⽬录
 3|-- DISCLAIMER-WIP        
 4|-- install.sh            #⼀键部署脚本
 5|-- lib                    #项⽬依赖jar包,包括各个模块jar和第三⽅jar
 6|-- LICENSE
 7|-- licenses
 8|-- NOTICE
 9|-- script                #集群启动、停⽌和服务监控启停脚本
10|-- sql                    #sql⽂件
  • 数据库配置

vi /home/hadoop/app/dolphinscheduler/conf/datasource.properties

1#spring.datasource.driver-class-name=org.postgresql.Driver
2#spring.datasource.url=jdbc:postgresql://192.168.xx.xx:5432/dolphinscheduler
3# mysql
4spring.datasource.driver-class-name=com.mysql.jdbc.Driver
5spring.datasource.url=jdbc:mysql://node01:3306/dolphinscheduler?
6useUnicode=true&characterEncoding=UTF-8
7spring.datasource.username=ds
8spring.datasource.password=ds%123
  • 初始化数据库
1cd /home/hadoop/app/dolphinscheduler/lib/
2ln -s /usr/share/java/mysql-connector-java-8.0.18.jar mysql-connector-java-8.0.18.jar
3cd /home/hadoop/app/dolphinscheduler
4sh ./script/create-dolphinscheduler.sh
  • 配置DS环境变量⽂件

vi /home/hadoop/app/dolphinscheduler/conf/env/dolphinscheduler_env.sh

 1export HADOOP_HOME=/usr/hdp/current/hadoop-client
 2export HADOOP_CONF_DIR=/etc/hadoop/conf
 3#export SPARK_HOME1=/opt/soft/spark1
 4export SPARK_HOME2=/usr/hdp/current/spark2-client
 5export PYTHON_HOME=/usr/bin/python
 6export JAVA_HOME=/usr/local/jdk
 7export HIVE_HOME=/usr/hdp/current/hive-client
 8#export FLINK_HOME=/home/hadoop/app/flink
 9#export
10PATH=$HADOOP_HOME/bin:$SPARK_HOME1/bin:$SPARK_HOME2/bin:$PYTHON_HOME:$JAVA_HOME
11/bin:$HIVE_HOME/bin:$PATH:$FLINK_HOME/bin:$PATH
12export
13PATH=$HADOOP_HOME/bin:$SPARK_HOME2/bin:$PYTHON_HOME:$JAVA_HOME/bin:$HIVE_HOME/b
14in:$PATH

dolphinschedulerdocker-compose安装(配置邮件)(代码片段)

@羲凡——只为了更好的活着DolphinSchedulerdocker-compose安装(配置邮件)前期准备安装docker安装docker-compose安装快速试用Docker部署官方文档1.下载mkdir-p/opt/modules/dolphinschedulercd/opt/modules/dolphinschedulerwgethttps://mirrors.tuna.tsinghua.edu.cn/apache/... 查看详情

dolphinscheduler使用随笔(代码片段)

...回到2.0.5版本二、安装官网有很详细的安装教程,附Dolphinscheduler-2.0.5链接如下:Dolphinsch 查看详情

dolphinscheduler搭建与采坑日记(代码片段)

用于搭建ds1.3.2版本一:需要提前安装的框架及版本·PostgreSQL(8.2.15+)orMySQL(5.7系列):两者任选其一即可·JDK(1.8+):必装,请安装好后在/etc/profile下配置JAVA_HOME及PATH变量·ZooKeeper(3.4.6+):必装·Hadoop(2.6+)orMinIO:选装,如果需要用到资源... 查看详情

dolphinscheduler3.1.0海豚集群部署配置(代码片段)

文章目录DolphinScheduler3.1.0部署过程1.JDK1.8环境准备2.下载安装包3.上传安装包并解压4.Dolphinscheduler用户要sudo权限,免密配置创建海豚用户并且给予sudo权限免密配置:服务器各台节点之间要互相免密5.修改配置文件6.修改元... 查看详情

花一分钟体验大数据任务调度系统-apachedolphinscheduler第一个官方docker镜像(代码片段)

新一代大数据任务调度-ApacheDolphinScheduler(incubator)在近期发布了其第一个官方Docker镜像。下面就带大家来 快速试用DolphinScheduler官方推荐以docker-compose的方式启动,这种方式需要先安装docker-compose,docker-compose的安装网上已经有... 查看详情

dolphinscheduler服务启停(代码片段)

1、服务启停cd /home/hadoop/app/dolphinscheduler/bin⼀键停⽌集群所有服务sh ./bin/stop-all.sh⼀键开启集群所有服务sh ./bin/start-all.sh启停Mastersh ./bin/dolphinscheduler-daemon.sh start master-serversh ./bin/dolphinscheduler-daem 查看详情

深入了解海豚调度dolphinscheduler(代码片段)

深入了解海豚调度DolphinScheduler一、海豚调度介绍二、海豚调度特性三、建议配置四、名词解释五、模块介绍六、功能介绍1.项目首页2.工作流定义3.工作流实例4.任务实例5.任务定义七、任务类型1.SQL2.SPARK节点3.ApacheZeppelin八、集群... 查看详情

基于rainbond部署dolphinscheduler高可用集群(代码片段)

...描述通过[Rainbond]云原生应用管理平台一键部署高可用的DolphinScheduler集群,这种方式适合给不太了解Kubernetes、容器化等复杂技术的用户使用,降低了在Kubernetes中部署DolphinScheduler的门槛。ApacheDolphinScheduler是一个分布式易扩展的可... 查看详情

dolphinscheduler实例表备份清理(代码片段)

😋DolphinScheduler实例表备份、清理👊一、前言  DolphinScheduler至今已经在项目中使用了将近一年,工作流实例和任务流实例都积累了百万级的数据量。在查看工作流实例和任务实例的时候,都要等待后台去查询数... 查看详情

apachedolphinscheduler征稿-dolphinscheduler的入门级教程及案例(代码片段)

本文正在参与“拥开源-ApacheDolphinScheduler有奖征稿活动”什么是DolphinScheduler分布式易扩展的可视化DAG工作流任务调度系统ApacheDolphinScheduler是一个分布式去中心化,易扩展的可视化DAG工作流任务调度系统。致力于解决数据处理... 查看详情

dolphinscheduler无故删除hdfs上的hive库表目录(代码片段)

...朋友们,我可爱的同事又搞了个大BUG待我慢慢道来…DolphinScheduler大家应该都用过,中国人开源的一个调度工具,类似Azkaban,本次的事情就是在DolphinScheduler上发生的。据领导描述,某团队负责的某业务数仓上... 查看详情

dolphinscheduler2.x版本部署篇(代码片段)

...本身使用过开源的各种调度系统,从Azkaban、Airflow、DolphinScheduler,最舒服、方便快捷的还是DS。算是DS最开始的一批使用者,从1.x到2.x,最新的3.x还没有使用,小编推荐大家使用1.3.8版本。前置准备工作JDK:... 查看详情

dolphinscheduler资源中心创建文件资源错误(代码片段)

背景事情发生在新入职同事没有使用过,不明确DolphinScheduler对文件长度其实是有要求。现象同事在资源中心创建脚本时发现提示创建文件资源错误,看到这个错误,懵逼的一批,我明明是按照正常操作创建的࿰... 查看详情

dolphinscheduler资源中心创建文件资源错误(代码片段)

背景事情发生在新入职同事没有使用过,不明确DolphinScheduler对文件长度其实是有要求。现象同事在资源中心创建脚本时发现提示创建文件资源错误,看到这个错误,懵逼的一批,我明明是按照正常操作创建的࿰... 查看详情

部署apachedolphinscheduler伪集群部署(代码片段)

【部署】ApacheDolphinScheduler(海豚)伪集群部署(Pseudo-Cluster)Standalone极速体验版DolphinScheduler伪集群部署前置准备工作本地部署环境准备DolphinScheduler启动环境配置用户免密及权限配置机器SSH免密登陆启动zookeeper下... 查看详情

dolphinscheduler调度生成工作流实例未生成任务实例解决历程oneresult(ornull)tobereturnedbyselectone(),butfound:2(代码片段)

背景:问题发生在上线调度,手动启任务时出现,master报如下错误:发现好几个任务失效[ERROR]2022-08-0109:59:57.988org.apache.dolphinscheduler.server.master.runner.WorkflowExecuteThread:[244]-handlererror:org.mybati 查看详情

apachedolphinscheduler征稿-dolphinscheduler的入门级教程及案例(代码片段)

本文正在参与“拥开源-ApacheDolphinScheduler有奖征稿活动”什么是DolphinScheduler分布式易扩展的可视化DAG工作流任务调度系统ApacheDolphinScheduler是一个分布式去中心化,易扩展的可视化DAG工作流任务调度系统。致力于解决数据处理... 查看详情

dolphinscheduler调度生成工作流实例未生成任务实例解决历程oneresult(ornull)tobereturnedbyselectone(),butfound:2(代码片段)

...:发现好几个任务失效[ERROR]2022-08-0109:59:57.988org.apache.dolphinscheduler.server.master.runner.WorkflowExecuteThread:[244]-handlererror:org.mybatis.spring.MyBatisSystemException:nestedexceptionisorg.apache.ibatis.exceptions.TooManyResultsException:Expectedoneresult(ornull)toberetur... 查看详情