DolphinScheduler 安装

1、下载网址(可能需要科学上网进入)

下载地址

2、基础软件安装

PostgreSQL (8.2.15+) or MySQL (5.6或者5.7系列) : 两者任选其一即可
JDK (1.8+) : 必装,请安装好后在/etc/profile下配置 JAVA_HOME 及 PATH 变量
ZooKeeper (3.4.6+) :必装
Hadoop (2.6+) or MinIO :选装,如果需要用到资源上传功能,可以选择上传到Hadoop or MinIO上

注意:DolphinScheduler本身不依赖Hadoop、Hive、Spark,仅是会调用他们的Client,用于对应任务的提交。

2、解压文件

# 创建部署目录 
mkdir -p /opt/dolphinscheduler
cd /opt/dolphinscheduler
tar -zxvf apache-dolphinscheduler-incubating-1.3.3-dolphinscheduler-bin.tar.gz -C /opt/dolphinscheduler
mv apache-dolphinscheduler-incubating-1.3.3-dolphinscheduler-bin.tar.gz  dolphinscheduler-bin

3、创建部署用户和hosts映射(root用户安装可忽略)/记得配置免密登录(所有用户)

在所有部署调度的机器上创建部署用户,并且一定要配置sudo免密。假如我们计划在ds1,ds2,ds3,ds4这4台机器上部署调度,首先需要在每台机器上都创建部署用户


# 设置用户名,请自行修改,后面以dolphinscheduler为例 
useradd dolphinscheduler; 
# 设置用户密码,请自行修改,后面以dolphinscheduler123为例 
echo "dolphinscheduler123" | passwd --stdin dolphinscheduler 
# 配置sudo免密 echo 'dolphinscheduler ALL=(ALL) NOPASSWD: NOPASSWD: ALL' >> /etc/sudoers sed -i 's/Defaults requirett/#Defaults requirett/g' /etc/sudoers

4、数据库初始化

进入数据库命令行窗口后,执行数据库初始化命令,设置访问账号和密码。注: {user} 和 {password} 需要替换为具体的数据库用户名和密码

mysql -uroot -p

mysql> CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; 
mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'%' IDENTIFIED BY '{password}'; 
mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'localhost' IDENTIFIED BY '{password}'; 
mysql> flush privileges;

4.1修改配置文件创建表和导入基础数据,并将mysql驱动放入lib中

修改 conf 目录下 application-dao.properties 中的下列配置

vi conf/application-dao.properties    (datasource.properties)

如果选择 MySQL,请注释掉 PostgreSQL 相关配置(反之同理), 还需要手动添加 [ mysql-connector-java 驱动 jar ] 包到 lib 目录下,这里下载的是mysql-connector-java-5.1.47.jar,然后正确配置数据库连接相关信息

#postgre 
#spring.datasource.driver-class-name=org.postgresql.Driver #spring.datasource.url=jdbc:postgresql://localhost:5432/dolphinscheduler 
# mysql 
spring.datasource.driver-class-name=com.mysql.jdbc.Driver 
spring.datasource.url=jdbc:mysql://xxx:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8 需要修改ip spring.datasource.username=xxx 需要修改为上面的{user}值 
spring.datasource.password=xxx 需要修改为上面的{password}值

修改并保存完后,执行 script 目录下的创建表及导入基础数据脚本

sh script/create-dolphinscheduler.sh

4.2 修改环境变量相关配置文件

修改 conf/env 目录下的 .dolphinscheduler_env.sh 环境变量(以相关用到的软件都安装在/opt/soft下为

export HADOOP_HOME=/home/yzz/hadoop-2.7.1
export HADOOP_CONF_DIR=/home/yzz/hadoop-2.7.1/etc/hadoop
export SPARK_HOME1=/opt/soft/spark1
export SPARK_HOME2=/opt/soft/spark2
export PYTHON_HOME=/opt/soft/python
export JAVA_HOME=/home/jdk1.8
export HIVE_HOME=/opt/soft/hive
export FLINK_HOME=/home/yzz/flink
export DATAX_HOME=/opt/soft/datax/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

5 修改并保存完后,执行 script 目录下的创建表及导入基础数据脚本

sh script/create-dolphinscheduler.sh

6、修改一键部署脚本 /conf/config/install_config.conf中的各参数,特别注意以下参数的配置

vim /dolphinscheduler-bin/conf/config/install_config.conf

# 这里填 mysql or postgresql 
dbtype="mysql" 

# 数据库连接地址 
dbhost="192.168.xx.xx:3306" 

# 数据库名 
dbname="dolphinscheduler" 

# 数据库用户名,此处需要修改为上面设置的{user}具体值 
username="xxx" 

# 数据库密码, 如果有特殊字符,请使用\转义,需要修改为上面设置的{passowrd}具体值 
passowrd="xxx" 

#将DS安装到哪个目录,如: /opt/soft/dolphinscheduler,不同于现在的目录 
installPath="/opt/soft/dolphinscheduler" 

#使用哪个用户部署,使用1.3小节创建的用户 
deployUser="dolphinscheduler" 

#Zookeeper地址 
zkQuorum="192.168.xx.xx:2181,192.168.xx.xx:2181,192.168.xx.xx:2181" 

#在哪些机器上部署DS服务 
ips="ds1,ds2,ds3,ds4" 

#master服务部署在哪台机器上 
masters="ds1,ds2" 

#worker服务部署在哪台机器上 
workers="ds3,ds4" 

#报警服务部署在哪台机器上 
alertServer="ds2" 

#后端api服务部署在在哪台机器上 
apiServers="ds1" 

# 邮件配置,以qq邮箱为例 
# 邮件协议 
mailProtocol="SMTP" 

# 邮件服务地址 
mailServerHost="smtp.exmail.qq.com" 

# 邮件服务端口
mailServerPort="25" 

# mailSender和mailUser配置成一样即可 
# 发送者 
mailSender="xxx@qq.com" 

# 发送用户 
mailUser="xxx@qq.com" 

# 邮箱密码 
mailPassword="xxx" 

# TLS协议的邮箱设置为true,否则设置为false starttlsEnable="true" 
# 邮件服务地址值,参考上面 
mailServerHost sslTrust="smtp.exmail.qq.com" 

# 开启SSL协议的邮箱配置为true,否则为false。注意: starttlsEnable和sslEnable不能同时为true 
sslEnable="false" 

# excel下载路径 
xlsFilePath="/tmp/xls" 

# 业务用到的比如sql等资源文件上传到哪里,可以设置:HDFS,S3,NONE。如果想上传到HDFS,请配置为HDFS;如果不需要资源上传功能请选择NONE。 
resUploadStartupType="HDFS" 

# 如果上传资源保存想保存在hadoop上,hadoop集群的NameNode启用了HA的话,需要将hadoop的配置文件core-site.xml和hdfs-site.xml放到安装路径(上面的installPath)的conf目录下,本例即是放到/opt/soft/dolphinscheduler/conf下面,并配置namenode cluster名称;如果NameNode不是HA,则只需要将mycluster修改为具体的ip或者主机名即可 
defaultFS="hdfs://mycluster:8020" 

# 如果ResourceManager是HA,则配置为ResourceManager节点的主备ip或者hostname,比如"192.168.xx.xx,192.168.xx.xx",否则如果是单ResourceManager或者根本没用到yarn,请配置yarnHaIps=""即可,我这里没用到yarn,配置为"" 
yarnHaIps="" 

# 如果是单ResourceManager,则配置为ResourceManager节点ip或主机名,否则保持默认值即可。我这里没用到yarn,保持默认 singleYarnIp="ark1"

记得将hadoop/etc/hadoop/ core-site.xml 和hdfs-site.xim 移动到 dolphinScheduler/conf目录下

6、运行脚本

无需将目录复制到其余节点,启动时会自动将安装文件cope到其余节点

sh install.sh

7、访问

http://101.70.130.xxx:12345/dolphinscheduler

账户密码:
admin/dolphinscheduler123