Apache Dolphin Scheduler

组件介绍

分布式易扩展的可视化DAG工作流任务调度系统。致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。

官网 : https://dolphinscheduler.apache.org/en-us/

Github : https://github.com/apache/incubator-dolphinscheduler

部署环境

  • CDH测试环境

    • 6台机器
    • 网关节点部署worker
    • CM节点部署master和监控web
    • 网关节点上已经部署hive&spark网关
  • 平台版本
    • CDH5.16.2
    • Dolphin Scheduler 1.2.0
  • 基础软件
    • PostgreSQL或MySql存储元数据

前端部署

安装包下载

https://dolphinscheduler.apache.org/en-us/docs/release/download.html

  • 创建部署文件夹/opt/ds,上传tar包到该目录中,并进行解压
# create deploy dir
mkdir -p /opt/ds/ds-ui;
# decompression
tar -zxvf apache-dolphinscheduler-incubating-1.2.1-SNAPSHOT-dolphinscheduler-front-bin.tar.gz -C /opt/ds/;
mv apache-dolphinscheduler-incubating-1.2.1-SNAPSHOT-dolphinscheduler-front-bin ds-1.2.0-ui;

选择自动化部署

  • 检查yum源,这里是开发环境,外网需要使用代理,需要安装nginx
  • 进入ds-1.2.0-ui目录,执行install-dolphinscheduler-ui.sh安装脚本
  • 修改前端端口为:8886,防止与Hue端口冲突
  • 修改api-server的ip
  • 修改api-server端口
  • 选择centos7安装

修改nginx上传大小参数

  • 添加nginx配置 client_max_body_size 1024m;
  • 重启nginx
  • 这一步一定要做,否则资源过大无法上传资源中心
vi /etc/nginx/nginx.conf# add param
client_max_body_size 1024m;# restart nginx
systemctl restart nginx

访问前端页面的8888(自定义成了8886)端口,出现loading页面,前端web安装完成

后端部署

准备工作

下载安装包

https://dolphinscheduler.apache.org/en-us/docs/release/download.html

上传tar包到/opt/ds中,并进行解压

tar -zxvf apache-dolphinscheduler-incubating-1.2.1-SNAPSHOT-dolphinscheduler-backend-bin.tar.gz -C /opt/ds/;
mv apache-dolphinscheduler-incubating-1.2.1-SNAPSHOT-dolphinscheduler-backend-bin ds-1.2.0-backend;

创建部署用户

  • 创建部署用户并设置密码(所有部署机器)
  • 将部署用户挂到hadoop组下,使用hdfs作为资源中心
  • 配置sudo免密
# add user dscheduler
useradd dscheduler;
# modify user password
passwd dscheduler;
# add sudo
vi /etc/sudoers;
dscheduler      ALL=(ALL)       NOPASSWD: ALL

  • 切换到部署用户并配置机器免密登陆,伪分布式需配置本机免密登陆
su dscheduler;
ssh-keygen -t rsa;
#配置相互免密和单机自身免密,[hostname]配置需要免密的机器hosts
ssh-copy-id -i ~/.ssh/id_rsa.pub dscheduler@[hostname];

数据库初始化

  • 进入CDH集群的mysql

    • mysql -uroot -p
  • 默认数据库是pg,mysql需要添加mysql-connector-java包到lib目录下
  • 执行数据库初始化命令,设置访问账号密码
CREATE DATABASE dscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON dscheduler.* TO 'dscheduler'@'%' IDENTIFIED BY 'xxxx';
GRANT ALL PRIVILEGES ON dscheduler.* TO 'dscheduler'@'localhost' IDENTIFIED BY 'xxxx';
FLUSH PRIVILEGES;

  • 创建表和导入基础数据

    • 修改conf目录下的application-dao.properties文件
    • 注释掉pg,使用mysql
    • 添加mysql-connector-java包到lib目录下

- 执行script目录下的create-dolphinscheduler.sh

配置环境变量

  • 修改目录权限
chown -R dscheduler:dscheduler ds-1.2.0-backend/;
chmod -R 755 ds-1.2.0-backend/;

  • 修改conf/env目录下的.dolphinscheduler_env.sh文件

    • ds-1.2.0版本中的Spark任务组件,只能提交Spark1的任务
    • SPARK_HOME1&SPARK_HOME2均配置为集群的Spark2-Home
    • 也可以注释掉SPARK_HOME1
    • Flink没有在集群中部署,不修改参数

  • 将jdk软链到/bin/java下
ln -s /usr/java/jdk1.8.0_131/bin/java /usr/bin/java

  • 修改install.sh的配置,按照集群自身情况

    • 注意参数

      • installPath - 将ds安装到哪个位置,如:/opt/ds-agent
      • zkQuorum - 一定是ip:2181,记得把2181端口带上
      • deployUser - 部署用户,需要有操作HDFS的权限
    • 要使用HDFS作为资源中心,HA情况下,需要将集群的core-site.xml文件和hdfs-site.xml文件拷贝到conf目录

部署安装kazoo

  • 安装python的zk工具

    • CDH集群默认是python2.7
yum -y install python-pip;
pip install kazoo;

  • 执行install脚本,sh install.sh
  • 在worker和master机器上使用jps查看服务是否启动

  • 访问前端

    • 用户名admin
    • 密码dolphinscheduler123

  • dolphin scheduler 1.2.0部署完成

DAG测试

  • 创建租户

  • 创建用户
  • 如果租户创建有问题,请检查是否启用资源中心

  • 新建项目并新建工作流

  • 运行工作流,查看执行结果

  • 至此 Dolphin Scheduler 1.2.0 dag demo测试完成

如何在CDH5.16.2中部署海豚调度器Apache Dolphin Scheduler 1.2.0相关推荐

  1. 如何在Ubuntu 16.04中创建GIF动图

    大 家经常在新浪微薄.QQ.facebook.twitter 中看到有趣的 GIF 动图吧,GIF 文件比视频小.比静态 JPG 图片形像生动,非常适于互联网上的搞笑帖子.产品展示和功能步骤演示,所以 ...

  2. mysql originator_MySQL中的事件调度器EVENT

    MySQL中的事件调度器,EVENT,也叫定时任务,类似于Unix crontab或Windows任务调度程序. EVENT由其名称和所在的schema唯一标识. EVENT根据计划执行特定操作.操作 ...

  3. 一文详解MySQL中的事件调度器EVENT

    MySQL中的事件调度器,EVENT,也叫定时任务,类似于Unix crontab或Windows任务调度程序. EVENT由其名称和所在的schema唯一标识. EVENT根据计划执行特定操作.操作 ...

  4. Apache DolphinScheduler 海豚调度器自定义时间参数

    在Apache DolphinScheduler 海豚调度器(本文简称:小海豚) 官网中,我们看到其自定义时间的参数是这样介绍的 1.支持代码中自定义变量名,声明方式:${变量名}.可以是引用 &qu ...

  5. 海豚调度器(dolphinscheduler)再次使用,添加钉钉预警

    1,首先我们部署是海豚调度器 1.3.8 版本,由于页面只有邮件预警,所以在了解源码的同时,需要添加钉钉预警 2,说明,这一块是同事搞的,不是我搞的,新版本的dolphinscheduler已经有了钉 ...

  6. 详解Yarn中三种资源调度器(FIFO Scheduler、Capacity Scheduler、Fair Scheduler)和配置自定义队列实现任务提交不同队列

    前言 在前面 Yarn的基本架构和作业提交全流程 一文中提到,当ResourceManager收到客户端Client的请求之后会将该作业job添加到(默认的)容量调度器中,然后再由某一个空闲的Node ...

  7. linux 进程状态显示dl,Linux系统中的实时调度器DL调度器的原理是什么?详细概述...

    一.概述 实时系统是这样的一种计算系统:当事件发生后,它必须在确定的时间范围内做出响应.在实时系统中,产生正确的结果不仅依赖于系统正确的逻辑动作,而且依赖于逻辑动作的时序.换句话说,当系统收到某个请求 ...

  8. YARN中的任务队列调度器-容量调度器(Capacity Scheduler)

    一.概述 容量调度器是YARN提供的三种调度器中的一种,这种调度器允许多个组织(队列)共享一个Hadoop集群,每个组织(队列)所分配的集群资源是固定的且可配置的.每个组织(队列)内部还可以进一步划分 ...

  9. linux怎么生成图形,如何在Ubuntu 16.04中创建GIF动态图片

    大家经常在新浪微薄.QQ.facebook.twitter 中看到有趣的 GIF 动图吧,GIF 文件比视频小.比静态 JPG 图片形像生动,非常适于互联网上的搞笑帖子.产品展示和功能步骤演示,所以此 ...

最新文章

  1. EZBioCloud:16S和原核基因组物种注释和新种鉴定
  2. phpstorm 点击方法跳转 后 返回 原来的位置
  3. intellij idea不显示git push按钮的解决办法
  4. hadoop自定义类型注意问题
  5. exxi6.7如何传文件到win7_比QQ直传快100倍!它让PC、安卓、iPhone光速互传文件
  6. 工作283:抽离出新页面优化
  7. 数字图像处理:四连通域与八连通域
  8. SAP License:PS中的成本控制
  9. 数据结构与算法 完整版双链表
  10. vue 高德轨迹自定义两点之间的颜色_vue 还是 react?这是一个问题
  11. JAVA基本数据结构
  12. librdkafka的安装和使用
  13. python模拟键盘上键和回车_python + selenium 模拟键盘升级版PyUserInput
  14. 别再乱提交代码了,看下大厂 Git 提交规范是怎么做的!
  15. 云计算需要学习哪些内容 为什么要学容器技术
  16. 国内外常用数据库介绍
  17. 如何在UnrealEngine虚幻引擎中进行版本管理
  18. Paper:《CatBoost: unbiased boosting with categorical features》的翻译与解读
  19. MySQL连接错误(2013, “Lost connection to MySQL server at ‘handshake)
  20. BIOS下关于CPU性能常用设置的解释及建议

热门文章

  1. VirtualBox 上安装Debian 后分辨率设置
  2. 关于概率算法的问题,不知道逻辑错在哪里,求debug
  3. 关于JAVA中的synchronized,一段不错的解释...
  4. SpriteBuilder物理对象的父子关系
  5. 反转链表-剑指offer-16
  6. [转]自定义SqlMembershipProvider方法
  7. Spring的组件赋值以及环境属性@PropertySource
  8. 国家开放大学本科计算机应用基础,【(精华版)最新国家开放大学电大本科《计算机应用基础》网络课网考形考作业一及三试题答案】.docx...
  9. dbms_排名前50位的DBMS面试问答
  10. java 方法 示例_Java语言环境getISOCountries()方法与示例