用图带你了解大数据框架架构之DophinScheduler

一、简介

用途:任务调度
优势:分布式、易扩展、可视化的DAG工作流,开箱即用,国产易用

二、架构

主要角色组成:
【MasterServer】:采用分布式无中心设计理念,MasterServer主要负责 DAG 任务切分任务提交任务监控,并同时监听其它MasterServer和WorkerServer的健康状态。
【WorkerServer】:也采用分布式无中心设计理念,WorkerServer主要负责任务的执行和提供日志服务。
【ZooKeeper】:系统中的MasterServer和WorkerServer节点都通过ZooKeeper来进行集群管理和容错。
【Alert服务】:提供告警相关服务。
【API接口层】:主要负责处理前端UI层的请求。
【Web UI】:系统的前端页面,提供系统的各种可视化操作界面。
在这里插入图片描述

三、安装

集群模式下,可配置多个Master及多个Worker。通常可配置2~3个Master,若干个Worker。
(1)所有节点需安装jdk,MySQL(5.7+)或者PostgreSQL(8.2.15+)
(2)需要有Zookeeper(3.4.6+)
(3)所有节点需要安装进程树分析工具psmisc

sudo yum install -y psmisc

(4)解压安装包

tar -zxvf apache-dolphinscheduler-2.0.5-bin 

(5)在mysql中创建元数据库及用户

CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE USER 'dolphinscheduler'@'%' IDENTIFIED BY 'dolphinscheduler';
--增加用户权限
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphinscheduler'@'%';
flush privileges; --刷新生效

(6)配置脚本

vim conf/config/install_config.conf
--需要修改的配置文件内容
ips="hadoop1,hadoop2,hadoop3" 
# 将要部署任一 DolphinScheduler 服务的服务器主机名或 ip 列表

masters="hadoop1" 
# master 所在主机名列表,必须是 ips 的子集

workers="hadoop1:default,hadoop2:default,hadoop3:default" 
# worker主机名及队列,此处的 ip 必须在 ips 列表中

alertServer="hadoop1"
# 告警服务所在服务器主机名

apiServers="hadoop102"
# api服务所在服务器主机名

# pythonGatewayServers="ds1" 
# 不需要的配置项,可以保留默认值,也可以用 # 注释

installPath="/opt/module/dolphinscheduler"
# DS 安装路径,如果不存在会创建

deployUser="kele"
# 部署用户,任务执行服务是以 sudo -u {linux-user} 切换不同 Linux 用户的方式来实现多租户运行作业,因此该用户必须有免密的 sudo 权限。

javaHome="/opt/module/jdk1.8.0_212"
# JAVA_HOME 路径

# 注意:数据库相关配置的 value 必须加引号,否则配置无法生效
DATABASE_TYPE="mysql"   # 数据库类型

SPRING_DATASOURCE_URL="jdbc:mysql://hadoop1:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8"
# 数据库 URL

SPRING_DATASOURCE_USERNAME="dolphinscheduler"
# 数据库用户名

SPRING_DATASOURCE_PASSWORD="dolphinscheduler"
# 数据库密码


registryPluginName="zookeeper"
# 注册中心插件名称,DS 通过注册中心来确保集群配置的一致性

registryServers="hadoop1:2181,hadoop2:2181,hadoop3:2181"
# 注册中心地址,即 Zookeeper 集群的地址

registryNamespace="dolphinscheduler"
# DS 在 Zookeeper 的结点名称

resourceStorageType="HDFS"	
# 资源存储类型

resourceUploadPath="/dolphinscheduler"
# 资源上传路径

defaultFS="hdfs://hadoop1:8020"
# 默认文件系统

resourceManagerHttpAddressPort="8088"
# yarn RM http 访问端口

yarnHaIps=
# Yarn RM 高可用 ip,若未启用 RM 高可用,则将该值置空

singleYarnIp="hadoop2"
# Yarn RM 主机名,若启用了 HA 或未启用 RM,保留默认值

hdfsRootUser="kele"
# 拥有 HDFS 根目录操作权限的用户

(7)拷贝MySQL驱动到DolphinScheduler的解压目录下的lib中,要求使用 MySQL JDBC Driver 8.0.16。执行数据库初始化脚本

cp /opt/software/mysql-connector-java-8.0.16.jar lib/
script/create-dolphinscheduler.sh

(8)启动
先启动zk,在启动dophinScheduler

./install.sh 

(9)查看启动的UI地址【初始用户的用户名为:admin,密码为dolphinscheduler123】

http://hadoop1:12345/dolphinscheduler

dophineScheduler的启停命令:
1)一键启停所有服务

./bin/start-all.sh
./bin/stop-all.sh

2)启停 Master

./bin/dolphinscheduler-daemon.sh start master-server
./bin/dolphinscheduler-daemon.sh stop master-server

3)启停 Worker

./bin/dolphinscheduler-daemon.sh start worker-server
./bin/dolphinscheduler-daemon.sh stop worker-server

4)启停 Api

./bin/dolphinscheduler-daemon.sh start api-server
./bin/dolphinscheduler-daemon.sh stop api-server

5)启停 Logger

./bin/dolphinscheduler-daemon.sh start logger-server
./bin/dolphinscheduler-daemon.sh stop logger-server

6)启停 Alert

./bin/dolphinscheduler-daemon.sh start alert-server
./bin/dolphinscheduler-daemon.sh stop alert-server

界面 :
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Apache DolphinScheduler是一个新一代分布式大数据工作流任务调度系统,致力于“解决大数据任务之间错综复杂的依赖关系,整个数据处理开箱即用”。它以 DAG(有向无环) 的方式将任务连接起来,可实时监控任务的运行状态,同时支持重试、从指定节点恢复失败、暂停及 Kill任务等操作。目前已经有像IBM、腾讯、美团、360等400多家公司生产上使用。 调度系统现在市面上的调度系统那么多,比如老牌的Airflow, Oozie,Kettle,xxl-job ,Spring Batch等等, 为什么要选DolphinScheduler ? DolphinScheduler 的定位是大数据工作流调度。通过把大数据和工作流做了重点标注. 从而可以知道DolphinScheduler的定位是针对于大数据体系。DolphinScheduler 发展很快 很多公司调度都切换到了DolphinScheduler,掌握DolphinScheduler调度使用势在必行,抓住新技术机遇,为跳巢涨薪做好准备。 优秀的框架都是有大师级别的人写出来的,包含了很多设计思想和技术。DolphinScheduler也不例外,它是一个非常优秀的框架,用到很多技术和设计思想,本课程会大家深入DolphinScheduler框架源码,包括设计的思想和技术都会讲解,DolphinScheduler源码很多,会按照模块进行讲解,学习完课程后,不仅可以熟悉DolphinScheduler使用,而且可以掌握很多优秀的设计思想和技术,给自己的技术来很大提升,为跳巢涨薪做好准备。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值