Apache DolphinScheduler是一个分布式去中心化,易扩展的可视化DAG工作流任务调度平台。致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用架构。
安装准备
安装dolphinscheduler需要在环境中安装如下依赖
① JDK8
下载JDK (1.8+),安装并配置 JAVA_HOME 环境变量,并将其下的 bin 目录追加到 PATH 环境变量中
② 数据库:PostgreSQL (8.2.15+) 或者 MySQL (5.7+),两者任选其一即可,如 MySQL 则需要 JDBC Driver 8.0.16
③ 注册中心:ZooKeeper (3.8+)
安装集群
配置dolphinscheduler用户,新建dolphinscheduler用户,并且一定要配置 sudo 免密
# 创建用户需使用 root 登录
useradd dolphinscheduler# 添加密码
echo "dolphinscheduler" | passwd --stdin dolphinscheduler# 配置 sudo 免密
sed -i '$adolphinscheduler ALL=(ALL) NOPASSWD: NOPASSWD: ALL' /etc/sudoers
sed -i 's/Defaults requirett/#Defaults requirett/g' /etc/sudoers# 修改目录权限,使得部署用户对二进制包解压后的 apache-dolphinscheduler-*-bin 目录有操作权限
chown -R dolphinscheduler:dolphinscheduler apache-dolphinscheduler-*-bin
配置免密,集群之间完成免密
su dolphinscheduler
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
ssh-copy-id -i ~/.ssh/id_rsa.pub dolphinscheduler@主机
配置mysql
DolphinScheduler 元数据存储在关系型数据库中,故需创建相应的数据库和用户。注:这里根据Mysql安装版本的不同选择不同的执行方式。
mysql5.6/5.7:
mysql -uroot -p
mysql> CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
# 修改 {user} 和 {password} 为你希望的用户名和密码
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;
mysql8:
mysql> CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
# 修改 {user} 和 {password} 为你希望的用户名和密码
mysql> CREATE USER '{user}'@'%' IDENTIFIED BY '{password}';
mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'%';
mysql> CREATE USER '{user}'@'localhost' IDENTIFIED BY '{password}';
mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'localhost';
mysql> FLUSH PRIVILEGES;
执行过程中可能出现如下报错:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
执行如下命令查看mysql密码要求规则 show variables like 'validate_password%';
修改校验登记为LOW,重新设置即可 set global validate_password.policy=LOW;
启动zookeeper 略
修改ds配置文件
mysql的JDBC驱动放入ds的lib目录下,包括 api-server/libs 和 alert-server/libs 和 master-server/libs 和 worker-server/libs
cp ../mysql-connector-java-8.0.16.jar ./lib
cp ../mysql-connector-java-8.0.16.jar ./api-server/libs/
cp ../mysql-connector-java-8.0.16.jar ./alert-server/libs/
cp ../mysql-connector-java-8.0.16.jar ./master-server/libs/
cp ../mysql-connector-java-8.0.16.jar ./worker-server/libs/
修改bin/env目录下的install_env.sh配置文件,我们仅需修改INSTALL MACHINE,DolphinScheduler ENV、Database、Registry Server
修改dolphinscheduler_env.sh 文件 bin/env/dolphinscheduler_env.sh 中配置JAVA_HOME、数据库、注册中心等相关配置
初始化数据库 bash tools/bin/upgrade-schema.sh
apache-dolphinscheduler-3.1.3-bin/tools/bin/upgrade-schema.sh org.apache.dolphinscheduler.tools.datasource.UpgradeDolphinScheduler
启动ds sh install.sh
apache-dolphinscheduler-3.1.3-bin/bin/install.sh
1.mk install dir
2.scp-hosts.sh worker-server/conf/application.yaml set worker groups in application.yaml
3.stop-all.sh
4.remove-zk-node.sh org.apache.zookeeper.ZooKeeperMain
5.start-all.sh
start-all.sh脚本涉及的服务启动:
apache-dolphinscheduler-3.1.3-bin/bin/dolphinscheduler-daemon.sh nohup /bin/bash "$DOLPHINSCHEDULER_HOME/$command/bin/start.sh" >$log 2>&1 &
apache-dolphinscheduler-3.1.3-bin/master-server/bin org.apache.dolphinscheduler.server.master.MasterServer
apache-dolphinscheduler-3.1.3-bin/worker-server/bin org.apache.dolphinscheduler.server.worker.WorkerServer
apache-dolphinscheduler-3.1.3-bin/api-server/bin org.apache.dolphinscheduler.server.api.ApiApplicationServer
apache-dolphinscheduler-3.1.3-bin/alert-server/bin org.apache.dolphinscheduler.server.alert.AlertServer
访问master节点url连接:http://<your_ip>:12345/dolphinscheduler/ui/login
,默认账户密码:admin/dolphinscheduler123