DolphinScheduler安装

Posted 李子捌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DolphinScheduler安装相关的知识,希望对你有一定的参考价值。

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

以上是关于DolphinScheduler安装的主要内容,如果未能解决你的问题,请参考以下文章

Apache DolphinScheduler 征稿 —开源大数据调度器Apache DolphinScheduler安装维护与实践

使用DolphinScheduler调度Python任务

使用DolphinScheduler调度Python任务

最新版海豚调度dolphinscheduler-3.1.3安装部署详细教程

Apache DolphinScheduler征稿 — Apache DolphinScheduler 快速入门与部署

大数据篇:DolphinScheduler-1.2.0.release安装部署