DolphinScheduler部署与安装

举报
李子捌 发表于 2021/11/24 20:02:10 2021/11/24
【摘要】 1、DS源码编译1.1 版本规划DS在成为Apache孵化项⽬之后的最新稳定版是1.3.4,并提供了Flink的⽀持,我们就使⽤1.3.4即可https://github.com/apache/incubator-dolphinscheduler/releases1.2 克隆代码git clone https://github.com/apache/incubator-dolphinsche...

1、DS源码编译


1.1 版本规划


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


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


1.2 克隆代码


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


1.3 适配HDP3.1


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


1.3.1 创建HDP分⽀


cd incubator-dolphinscheduler
git checkout 1.3.4
git checkout -b 1.3.4-hdp3.1.4.0


1.3.2 匹配HDP3.1.4.0


  • 修改顶层pom.xml


<!--<hadoop.version>2.7.3</hadoop.version>-->
<hadoop.version>3.1.1</hadoop.version>
<!--<hive.jdbc.version>2.1.0</hive.jdbc.version>-->
<hive.jdbc.version>3.1.0</hive.jdbc.version>


  • 变更版本号 修改所有模块的pom.xml


<!-- <version>1.3.4</version> -->
<version>1.3.4-hdp3.1.4.0</version>


1.3.3 编译及安装包


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


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


apache-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免密


在所有需要部署调度的机器上创建部署⽤户,因为worker服务是以 sudo -u {linux-user} ⽅式来执⾏作业,所以部署⽤户需要有 sudo 权限,⽽且是免密的。
我们直接采⽤hadoop⽤户就好了,免密早就做好了。


  • 创建数据库 在MySQL部署的那台机器上


mysql -uroot -p


set global validate_password_policy=0;
set global validate_password_mixed_case_count=0;
set global validate_password_number_count=3;
set global validate_password_special_char_count=0;
set global validate_password_length=3;
CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE
utf8_general_ci;
CREATE USER 'ds'@'%' IDENTIFIED BY 'ds%123';
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'ds'@'%' IDENTIFIED BY 'ds%123';
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'ds'@'localhost' IDENTIFIED BY
'ds%123';
flush privileges;
exit;


2.2.3 正式部署


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

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


mv apache-dolphinscheduler-incubating-1.3.4-hdp3.1.4.0-dolphinscheduler-bin.tar.gz app/
cd app
tar -zxvf apache-dolphinscheduler-incubating-1.3.4-hdp3.1.4.0-dolphinscheduler-bin.tar.gz
ln -s apache-dolphinscheduler-incubating-1.3.4-hdp3.1.4.0-dolphinscheduler-bin
dolphinscheduler
chmod ugo+x dolphinscheduler/bin/*
chmod ugo+x dolphinscheduler/script/*
chmod ugo+x dolphinscheduler/install.sh
chmod ugo+x /home/hadoop/app/dolphinscheduler/conf/env/dolphinscheduler_env.sh


  • ⽬录结构如下


|-- bin 				#基础服务启动脚本
|-- conf				#配置⽂件⽬录
|-- DISCLAIMER-WIP		
|-- install.sh			#⼀键部署脚本
|-- lib					#项⽬依赖jar包,包括各个模块jar和第三⽅jar
|-- LICENSE
|-- licenses
|-- NOTICE
|-- script				#集群启动、停⽌和服务监控启停脚本
|-- sql					#sql⽂件


  • 数据库配置


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


#spring.datasource.driver-class-name=org.postgresql.Driver
#spring.datasource.url=jdbc:postgresql://192.168.xx.xx:5432/dolphinscheduler
# mysql
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://node01:3306/dolphinscheduler?
useUnicode=true&characterEncoding=UTF-8
spring.datasource.username=ds
spring.datasource.password=ds%123


  • 初始化数据库


cd /home/hadoop/app/dolphinscheduler/lib/
ln -s /usr/share/java/mysql-connector-java-8.0.18.jar mysql-connector-java-8.0.18.jar
cd /home/hadoop/app/dolphinscheduler
sh ./script/create-dolphinscheduler.sh


  • 配置DS环境变量⽂件


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


export HADOOP_HOME=/usr/hdp/current/hadoop-client
export HADOOP_CONF_DIR=/etc/hadoop/conf
#export SPARK_HOME1=/opt/soft/spark1
export SPARK_HOME2=/usr/hdp/current/spark2-client
export PYTHON_HOME=/usr/bin/python
export JAVA_HOME=/usr/local/jdk
export HIVE_HOME=/usr/hdp/current/hive-client
#export FLINK_HOME=/home/hadoop/app/flink
#export
PATH=$HADOOP_HOME/bin:$SPARK_HOME1/bin:$SPARK_HOME2/bin:$PYTHON_HOME:$JAVA_HOME
/bin:$HIVE_HOME/bin:$PATH:$FLINK_HOME/bin:$PATH
export
PATH=$HADOOP_HOME/bin:$SPARK_HOME2/bin:$PYTHON_HOME:$JAVA_HOME/bin:$HIVE_HOME/b
in:$PATH



👇🏻 关注公众号 获取更多资料👇🏻

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。