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 部署规划
服务 | node01 | node02 | node03 |
---|---|---|---|
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 MinIo | HDP⾃带 |
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-3.1.3安装部署详细教程