DolphinScheduler集群部署
- 1 DolphinScheduler集群部署
- 1.1 DolphinScheduler简介
- 1.2 集群规划
- 1.3 前置准备工作
- 1.4 DolphinScheduler集群部署
- 1.4.1 解压DolphinScheduler安装包
- 1.4.2 创建元数据库及用户
- 1.4.3 配置一键部署脚本
- 1.4.4 初始化数据库
- 1.4.5 配置部署用户免密及权限
- 1.4.6 配置机器SSH免密登录
- 1.4.7 一键部署DolphinScheduler
- 1.4.8 登录DolphinScheduler
- 1.4.9 启停服务
 
 
1 DolphinScheduler集群部署
1.1 DolphinScheduler简介
Apache DolphinScheduler 是一个分布式易扩展的可视化DAG工作流任务调度开源系统。适用于企业级场景,提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方案。
Apache DolphinScheduler 旨在解决复杂的大数据任务依赖关系,并为应用程序提供数据和各种 OPS 编排中的关系。 解决数据研发ETL依赖错综复杂,无法监控任务健康状态的问题。 DolphinScheduler 以 DAG(Directed Acyclic Graph,DAG)流式方式组装任务,可以及时监控任务的执行状态,支持重试、指定节点恢复失败、暂停、恢复、终止任务等操作。
1.2 集群规划
集群模式下,可配置多个Master及多个Worker。通常可配置2~3个Master,若干个Worker。由于集群资源有限,此处配置一个Master,三个Worker,集群规划如下:
| 节点 | 规划 | 
|---|---|
| node1节点 | master、worker | 
| node2节点 | worker | 
| node3节点 | worker | 
1.3 前置准备工作
(1)三台节点均需部署JDK(1.8+),并配置相关环境变量。
 (2)需部署数据库,支持MySQL(5.7+)或者PostgreSQL(8.2.15+)。
 (3)三台节点均需部署Zookeeper(3.4.6+)。
 (4)三台节点均需安装进程树分析工具psmisc。
[hadoop@node1 /]$ sudo yum install -y psmisc
[hadoop@node1 /]$ sudo yum install -y psmisc
[hadoop@node1 /]$ sudo yum install -y psmisc
参考博客
 Centos7安装JDK及环境变量配置
 Centos7安装MySQL 8.0.11
 Centos7安装Zookeeper集群
1.4 DolphinScheduler集群部署
1.4.1 解压DolphinScheduler安装包
(一)去官网下载DolphinScheduler安装包,这里我们选择的是2.0.5版本
 
(二)上传DolphinScheduler安装包到node1节点的/opt/software/ds目录
 
(三)解压安装包到当前目录
 注:解压目录并非最终的安装目录。
 
1.4.2 创建元数据库及用户
DolphinScheduler元数据存储在关系型数据库中,故需创建相应的数据库和用户。我们这里以MySQL为例。
(一)创建数据库
 先登录mysql
 
mysql> CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

(二)创建用户
 这里创建了dolphinscheduler用户,密码为dolphinscheduler。
mysql> CREATE USER 'dolphinscheduler'@'%' IDENTIFIED BY 'dolphinscheduler';

 (三)赋予用户相应权限
mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphinscheduler'@'%';

 刷新配置
mysql>  FLUSH PRIVILEGES;

1.4.3 配置一键部署脚本
修改解压目录下的conf/config目录下的install_config.conf文件。
 
 修改内容如下:
 
 
1.4.4 初始化数据库
(一)拷贝MySQL驱动到DolphinScheduler的解压目录下的lib中,要求使用MySQL JDBC Driver 8.0.16
 
(二)执行数据库初始化脚本
 数据库初始化脚本位于DolphinScheduler解压目录下的script目录中,即
 
 执行create-dolphinscheduler.sh脚本,稍等片刻,即可完成数据库的初始化。
 
1.4.5 配置部署用户免密及权限
创建部署用户,并且一定要配置sudo免密。以创建dolphinScheduler用户为例。
 (一)创建用户
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-2.0.5-bin

 注:在node1、node2、node3节点都需要创建dolphinScheduler部署用户。
1.4.6 配置机器SSH免密登录
        由于安装的时候需要向不同机器发送资源,所有要求各台机器能实现SSH免密登录。配置免密登录的步骤如下:
 (一)在node1节点、node2节点、node3节点,切换为dolphinScheduler部署用户,生成私钥和公钥。
 
(二)传递node1节点的公钥到node2节点上
scp id_rsa.pub root@192.168.80.130:/tmp
(三)配置node1节点到node2节点的免密操作
 切换node2节点root用户为dolphinScheduler部署用户,将node1节点公钥追加到authorized_keys文件中。
 
(四)在node1节点ssh node2测试是否成功
 
 注:node1节点到node3节点,按照上面的配置即可。
1.4.7 一键部署DolphinScheduler
(一)启动node1节点、node2节点、node3节点的Zookeeper集群。
./zkServer.sh start 启动指令
./zkServer.sh start 查看状态
node1节点Zookeeper
 
node2节点Zookeeper
 
node3节点Zookeeper
 
(二)一键部署并启动DolphinScheduler
 
(三)开放apiServer接口服务端口
 开放12345端口
firewall-cmd --zone=public --add-port=123456/tcp --permanent
重载防火墙配置
firewall-cmd --reload
1.4.8 登录DolphinScheduler
        浏览器访问地址: http://192.168.80.129:12345/dolphinscheduler即可登录系统UI。默认的用户名和密码是 admin/dolphinscheduler123。
 

1.4.9 启停服务
切换到DolphinScheduler安装位置的bin目录下,执行下列指令:
 



















