Dolphinscheduler调度部署
Dolphinscheduler调度部署
官网
介绍:
Apache DolphinScheduler 是一个分布式易扩展的可视化DAG工作流任务调度开源系统。适用于企业级场景,提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方案。
Apache DolphinScheduler 旨在解决复杂的大数据任务依赖关系,并为应用程序提供数据和各种 OPS 编排中的关系。 解决数据研发ETL依赖错综复杂,无法监控任务健康状态的问题。 DolphinScheduler 以 DAG(Directed Acyclic Graph,DAG)流式方式组装任务,可以及时监控任务的执行状态,支持重试、指定节点恢复失败、暂停、恢复、终止任务等操作。
前提准备:
-
JDK:下载JDK (1.8+),安装并配置
JAVA_HOME
环境变量,并将其下的bin
目录追加到PATH
环境变量中。如果你的环境中已存在,可以跳过这步。 -
二进制包:在下载页面下载 DolphinScheduler 二进制包
-
数据库:PostgreSQL (8.2.15+) 或者 MySQL (5.7+),两者任选其一即可,如 MySQL 则需要 JDBC Driver 8.0.16
-
注册中心:ZooKeeper (3.8.0+),下载地址
配置机器免密及权限
在涉及的机器上都执行创建用户
#创建用户需使用 root 登录
useradd dolphinscheduler
#添加密码
echo "dolphinscheduler" | passwd --stdin dolphinscheduler
#创建默认的default用户 默认执行任务是default租户 不然代码创建用户可能会提示没权限
useradd default
#配置 sudo 免密
sed -i '$adolphinscheduler ALL=(ALL) NOPASSWD: NOPASSWD: ALL' /etc/sudoers
sed -i 's/Defaults requirett/#Defaults requirett/g' /etc/sudoers
# 修改目录权限,使得部署用户对二进制包解压后的 apache-dolphinscheduler-*-bin 目录有操作权限
wget https://www.apache.org/dyn/closer.lua/dolphinscheduler/3.2.2/apache-dolphinscheduler-3.2.2-bin.tar.gz
tar -xf apache-dolphinscheduler-3.2.2-bin.tar.gz
chown -R dolphinscheduler:dolphinscheduler apache-dolphinscheduler-*-bin
chmod -R 755 apache-dolphinscheduler-*-bin
配置SSH免密登录
由于安装的时候需要向不同机器发送资源,所以要求各台机器间能实现 SSH 免密登陆
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 hostname1
ssh-copy-id hostname2
ssh-copy-id hostname3
启动ZK(配置了JDBC注册中心请忽略)
进入 zookeeper 的安装目录,将 zoo_sample.cfg 配置文件复制到 conf/zoo.cfg,并将 conf/zoo.cfg 中 dataDir 中的值改成
dataDir=\./data/zookeeper
# 启动 zookeeper
./bin/zkServer.sh start
修改相关配置
完成基础环境的准备后,需要根据你的机器环境修改配置文件。配置文件可以在目录 bin/env/dolphinscheduler_env.sh
中找到。
配置文件拷贝到其他节点使用。
修改 dolphinscheduler_env.sh
文件
初始化数据库
bash upgreade-schema.sh
启动 DolphinScheduler,master服务启动所有,worker节点只启动worker
# 一键停止集群所有服务
bash ./bin/stop-all.sh
# 一键开启集群所有服务
bash ./bin/start-all.sh
# 启停 Master
bash ./bin/dolphinscheduler-daemon.sh stop master-server
bash ./bin/dolphinscheduler-daemon.sh start master-server
# 启停 Worker
bash ./bin/dolphinscheduler-daemon.sh start worker-server
bash ./bin/dolphinscheduler-daemon.sh stop worker-server
# 启停 Api
bash ./bin/dolphinscheduler-daemon.sh start api-server
bash ./bin/dolphinscheduler-daemon.sh stop api-server
# 启停 Alert
bash ./bin/dolphinscheduler-daemon.sh start alert-server
bash ./bin/dolphinscheduler-daemon.sh stop alert-server
登录 DolphinScheduler
浏览器访问地址 http://localhost:12345/dolphinscheduler/ui 即可登录系统 UI。默认的用户名和密码是 admin/dolphinscheduler123