官网部署文档
https://dolphinscheduler.apache.org/zh-cn/docs/latest/user_doc/cluster-deployment.html
1、基础软件安装(必装项请自行安装)
- PostgreSQL (8.2.15+) or MySQL (5.7系列) : 两者任选其一即可, 如MySQL则需要JDBC Driver 5.1.47+
- JDK (1.8+) : 必装,请安装好后在/etc/profile下配置 JAVA_HOME 及 PATH 变量
- ZooKeeper (3.4.6+) :必装
- Hadoop (2.6+) or MinIO :选装,如果需要用到资源上传功能,可以选择上传到Hadoop or MinIO上
1 | 注意:DolphinScheduler本身不依赖Hadoop、Hive、Spark,仅是会调用他们的Client,用于对应任务的提交。 |
2、下载二进制tar.gz包
- 请下载最新版本的后端安装包至服务器部署目录,比如创建 /tmp/dolphinscheduler 做为安装部署目录,下载地址: 下载,下载后上传tar包到该目录中,并进行解压
1 | 创建部署目录,部署目录请不要创建在/root、/home等高权限目录 |
3、创建部署用户和hosts映射
- 在所有部署调度的机器上创建部署用户,并且一定要配置sudo免密。假如我们计划在ds1,ds2,ds3,ds4这4台机器上部署调度,首先需要在每台机器上都创建部署用户
1 | 创建用户需使用root登录,设置部署用户名,请自行修改,后面以dolphinscheduler为例 |
4、配置hosts映射和ssh打通及修改目录权限
-
备注:当然 通过
sshpass -p xxx sudo scp -r /etc/hosts $ip:/etc/
就可以省去输入密码了centos下sshpass的安装:
-
先安装epel
yum install -y epel-release
yum repolist
-
安装完成epel之后,就可以按照sshpass了
yum install -y sshpass
-
-
在ds1上,切换到部署用户并配置ssh本机免密登录
1
2
3
4
5su dolphinscheduler;
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
注意:正常设置后,dolphinscheduler用户在执行命令ssh localhost
是不需要再输入密码的
-
在ds1上,配置部署用户dolphinscheduler ssh打通到其他待部署的机器
1
2
3
4
5su dolphinscheduler;
for ip in bigdata-9.baofoo.cn bigdata-8.baofoo.cn bigdata-7.baofoo.cn ;
do
sshpass -p dolphinscheduler123 ssh-copy-id $ip
done -
在ds1上,修改目录权限,使得部署用户对dolphinscheduler-bin目录有操作权限
5、数据库初始化
- 进入数据库,默认数据库是PostgreSQL,如选择MySQL的话,后续需要添加mysql-connector-java驱动包到DolphinScheduler的lib目录下,这里以MySQL为例
1 | mysql -h192.168.xx.xx -P3306 -uroot -p |
- 进入数据库命令行窗口后,执行数据库初始化命令,设置访问账号和密码。注: {user} 和 {password} 需要替换为具体的数据库用户名和密码
1 | mysql> CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; |
-
创建表和导入基础数据
- 修改 conf 目录下 datasource.properties 中的下列配置
1
vi conf/datasource.properties
- 如果选择 MySQL,请注释掉 PostgreSQL 相关配置(反之同理), 还需要手动添加 [ mysql-connector-java 驱动 jar ] 包到 lib 目录下,这里下载的是mysql-connector-java-5.1.47.jar,然后正确配置数据库连接相关信息
1
2
3
4
5
6
7
8#postgre
#spring.datasource.driver-class-name=org.postgresql.Driver
#spring.datasource.url=jdbc:postgresql://localhost:5432/dolphinscheduler
# mysql
com.mysql.jdbc.Driver =
jdbc:mysql://10.0.20.107:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true =
cs_yangz 需要修改为上面的{user}值 =
xxx 需要修改为上面的{password}值 =- 修改并保存完后,执行 script 目录下的创建表及导入基础数据脚本
1
sh script/create-dolphinscheduler.sh
6、修改运行参数
-
修改 conf/env 目录下的
dolphinscheduler_env.sh
环境变量(以相关用到的软件都安装在/opt/soft下为例)1
2
3
4
5
6
7
8
9
10
11
12export HADOOP_HOME=/opt/cloudera/parcels/CDH/lib/hadoop
export HADOOP_CONF_DIR=/etc/hadoop/conf
export SPARK_HOME1=/opt/soft/spark1
export SPARK_HOME2=/opt/cloudera/parcels/CDH/lib/spark
export PYTHON_HOME=/usr/bin/python
export JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera
export HIVE_HOME=/opt/cloudera/parcels/CDH/lib/hive
export FLINK_HOME=/opt/soft/flink
export DATAX_HOME=/opt/soft/datax/bin/datax.py
export PATH=$HADOOP_HOME/bin:$SPARK_HOME2/bin:$PYTHON_HOME:$JAVA_HOME/bin:$HIVE_HOME/bin:$PATH
`注: 这一步非常重要,例如 JAVA_HOME 和 PATH 是必须要配置的,没有用到的可以忽略或者注释掉`
修改一键部署配置文件 conf/config/install_config.conf
中的各参数,特别注意以下参数的配置
1 | postgresql or mysql |
特别注意:
- 如果需要用资源上传到Hadoop集群功能, 并且Hadoop集群的NameNode 配置了 HA的话 ,需要开启 HDFS类型的资源上传,同时需要将Hadoop集群下的core-site.xml和hdfs-site.xml复制到/opt/dolphinscheduler/conf,非NameNode HA跳过次步骤
7、一键部署
-
切换到部署用户dolphinscheduler,然后执行一键部署脚本
sh install.sh
1
2
3注意:
第一次部署的话,在运行中第3步`3,stop server`出现5次以下信息,此信息可以忽略
sh: bin/dolphinscheduler-daemon.sh: No such file or directory -
脚本完成后,会启动以下5个服务,使用
jps
命令查看服务是否启动(jps
为java JDK
自带)
1 | MasterServer ----- master服务 |
如果以上服务都正常启动,说明自动部署成功
部署成功后,可以进行日志查看,日志统一存放于logs文件夹内
1 | logs/ |
8、登录系统
- 访问前端页面地址,接口ip(自行修改) http://bigdata-9.baofoo.cn:12345/dolphinscheduler
默认的用户是admin
,默认的密码是dolphinscheduler123
修改 JVM 参数
- 两个文件
- /bin/dolphinscheduler-daemon.sh
- /scripts/dolphinscheduler-daemon.sh
1 | export DOLPHINSCHEDULER_OPTS="-server -Xmx16g -Xms1g -Xss512k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70" |
复制代码
- 一键部署
1 | su dolphinscheduler |
复制代码
- 进程检查
1 | su dolphinscheduler;jps; |
复制代码
1 | # 一键停止 |
遇到的坑:
1.安装文件别放到/tmp/dolphinscheduler , 这是特殊路径
2.用root用户启动服务导致一系列问题,要用新建的用户操作所有的一切。