DolphinScheduler(Dolphin Scheduler)是一个分布式、易扩展的开源 DAG(有向无环图)工作流任务调度系统,可用于构建大规模数据处理、数据仓库、ETL 等复杂的数据处理和数据分析场景。DolphinScheduler 支持多种任务类型,包括 Shell、SQL、Spark、Python、Sub-Process、HTTP、Flink 等,同时也支持用户自定义任务类型。本节内容我们完成DolphinScheduler工作流系统的搭建。
①集群服务规划
- 关于jdk、zookeeper、hadoop、mysql等安装部署内容这里不再介绍,请查看作者往期博客内容。
hadoop101 | hadoop102 | hadoop103 |
---|---|---|
jdk | jdk | jdk |
zookeeper | zookeeper | zookeeper |
hadoop | hadoop | hadoop |
DolphinScheduler-master | DolphinScheduler-master | DolphinScheduler-master |
DolphinScheduler-worker | DolphinScheduler-worker | DolphinScheduler-worker |
②分别在hadoop101、hadoop102、hadoop103安装psmisc
sudo yum install -y psmisc
③上传DolphinScheduler安装包到hadoop101服务器/opt/software目录
④将此安装包解压到当前目录
tar -zxvf apache-dolphinscheduler-2.0.5-bin.tar.gz
⑤创建dolphinscheduler的元数据库及用户,这里使用mysql数据库
- 创建数据库
CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;- 创建用户,出现错误,修改密码等级权限
CREATE USER 'dolphinscheduler'@'%' IDENTIFIED BY 'dolphinscheduler';- 修改密码等级并重新创建用户
set global validate_password_policy=0; set global validate_password_length=4;- 授权用户
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphinscheduler'@'%';- 刷新用户权限
flush privileges;
⑥ 通过修改DolphinScheduler部署脚本,一键式部署DolphinScheduler
- 进入dolphinscheduler解压目录/opt/software/apache-dolphinscheduler-2.0.5-bin/conf/config下,修改部署脚本
- 修改ips服务器配置参数
- 修改masters主节点配置参数
- 修改workers节点配置参数
- 配置告警服务所在服务器主机名
- 配置api服务所在服务器主机名
- 配置dolphinscheduler安装路径,如果不存在会创建,这里的安装路径配置为/opt/module/dolphinscheduler
- 部署用户配置,任务执行服务是以 sudo -u {linux-user} 切换不同 Linux 用户的方式来实现多租户运行作业,因此该用户必须有免密的sudo 权限,这里使用hadoop账号
- 配置JAVA_HOME路径
- 配置mysql数据库连接
- 配置zookeeper注册中心
- 配置hdfs存储资源
- yarn配置,yarn的resource节点在hadoop102
⑦ 上传mysql驱动到mysql-connector-java-8.0.16.jar到dolphinscheduler解压目录lib下
⑧在/opt/software/apache-dolphinscheduler-2.0.5-bin/script目录下执行dolphinscheduler的数据库初始化脚本
⑨启动zookeeper集群、mysql、以及hadoop集群
- 启动zookeeper
- 启动mysql
- 启动hadoop
⑩ 在/opt/software/apache-dolphinscheduler-2.0.5-bin目录下执行一键式部署安装脚本install.sh
⑪查看dolphinscheduler服务进程
⑫使用客户端连接dolphinscheduler
⑬dolphinscheduler服务的启停
- 在dolphinscheduler的安装目录/opt/module/dolphinscheduler/bin下有启动脚本
- 启停 Master
./bin/dolphinscheduler-daemon.sh start master-server ./bin/dolphinscheduler-daemon.sh stop master-server- 启停 Worker
./bin/dolphinscheduler-daemon.sh start worker-server ./bin/dolphinscheduler-daemon.sh stop worker-server- 启停 Api Server
./bin/dolphinscheduler-daemon.sh start api-server ./bin/dolphinscheduler-daemon.sh stop api-server- 启停 Logger
./bin/dolphinscheduler-daemon.sh start logger-server ./bin/dolphinscheduler-daemon.sh stop logger-server- 启停 Alert
./bin/dolphinscheduler-daemon.sh start alert-server ./bin/dolphinscheduler-daemon.sh stop alert-server- 集群启停
./bin/start-all.sh ./bin/stop-all.sh
至此,关于一键式DolphinScheduler高可用工作流任务调度系统部署安装到这里就结束了,我们下期见。。。。。。