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

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测试完成

任何程序错误,以及技术疑问或需要解答的,请添加

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/546763.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu20.04 pycharm python打包制作DEB包详细步骤及雷区

记录一次Deb打包过程及踩雷警示 最近写了一个python的小程序,希望能打包成deb文件,便于将写好的软件安装 在其他没有安装工作环境的电脑上,把这安装deb后可以在应用列表和桌面看到。下面介绍一个python工程的打包过程, 分为两大步…

有人问我,为什么1+1等于2

2019独角兽企业重金招聘Python工程师标准>>> 我回复说:“这是规则,天地万物有其规则,人观察而形成自己的规则。李小龙说:“以无法为有法,以无限为有限”,其实也是用最大的规则作为准则&#xff…

你真的知道 == 和 equals 的区别吗?

让我们每天都有进步,老王带你打造最全的 Java 面试清单,认真把一件事做到极致。 在 Java 中 和 equals 的区别,感觉只有很少的人能才完全说正确。 常见的错误回答就是: 基础类型对比的是值是否相同,引用类型对比的是…

Ray集群搭建 Python Demo

目录 准备条件(基于linux环境) 参考文献例子-python Ray集群 1.部署head节点2.部署worker节点部署Ray集群安装Ray(在所有节点上安装)Ray工作原理Ray的优势Ray简介准备条件(基于linux环境) 这里部署2个节点…

Java 200+ 面试题补充② Netty 模块

让我们每天都能看到自己的进步。老王带你打造最全的 Java 面试清单,认真把一件事做到最好。 本文是前文《Java 最常见的 200 面试题》的第二个补充模块,第一模块为:《Java 200 面试题补充 ThreadLocal 模块》。 1.Netty 是什么? …

Ray.tune可视化调整超参数Tensorflow 2.0

Ray.tune官方文档 调整超参数通常是机器学习工作流程中最昂贵的部分。 Tune专为解决此问题而设计,展示了针对此痛点的有效且可扩展的解决方案。 请注意,此示例取决于Tensorflow 2.0。 Code: ray/python/ray/tune at master ray-project/ray GitHub E…

MySql 优化的 30 条建议

文章来源&#xff1a;包子博客MySql 优化的 30 条建议1、应尽量避免在 where 子句中使用!或<>操作符&#xff0c;否则将引擎放弃使用索引而进行全表扫描。2、对查询进行优化&#xff0c;应尽量避免全表扫描&#xff0c;首先应考虑在 where 及 order by 涉及的列上建立索引…

Ubuntu18 Win10搭建Caffe训练识别mnist手写数字demo

ubuntu 系统下的Caffe环境搭建 对于caffe的系统一般使用linux系统&#xff0c;当然也有windows版本的caffe&#xff0c;不过如果你一开始使用了windows下面的caffe&#xff0c;后面学习的过程中&#xff0c;会经常遇到各种错误&#xff0c;网上下载的一些源码、模型也往往不能…

windows server 2008 IE代理服务器实验

一、首先介绍IE代理服务器的好处如下&#xff1a;1、节省带宽 2、绕过防火墙二、下面以这个软件为代理软件&#xff0c;本人在物理机和虚拟机实验&#xff0c;1、首先在物理机安装代理软件&#xff0c;安装完成如图所示&#xff1a;2、在“设置”项代理协议端口、在本地局域网…

Java 200+ 面试题补充③ Dubbo 模块

昨天在我的 Java 面试粉丝群里&#xff0c;有一个只有一年开发经验的小伙伴只用了三天时间&#xff0c;就找到了一个年薪 20 万的工作&#xff0c;真是替他感到开心。 他的经历告诉我们&#xff1a;除了加强自我实战经验之外&#xff0c;还要努力积累自己的理论知识。 人生没有…

十一、PyQt5点击主窗口弹出另一个非模态子窗口

单击主对话框菜单“设置“下的”交换机配置”action的信号与槽 主对话框代码: # -*- coding: utf-8 -*-import sys from PyQt5 import QtCore from PyQt5.QtWidgets import QApplication, QMainWindow, QDialog, QDesktopWidget import win32api import win32con

彻底搞懂 Java 中的注解 Annotation

Java注解是一系列元数据&#xff0c;它提供数据用来解释程序代码&#xff0c;但是注解并非是所解释的代码本身的一部分。注解对于代码的运行效果没有直接影响。网络上对注解的解释过于严肃、刻板&#xff0c;这并不是我喜欢的风格。尽管这样的解释听起来非常的专业。为了缓解大…

cs时间校准

2019独角兽企业重金招聘Python工程师标准>>> c/s结构中的时间校准 拜读了风云的一篇博客 思路比较明显简单: C发包打时间戳 S收包打时间戳 S回应包打时间戳 C收包打时间戳 4个时间戳可以进行计算校准. 假设来回时间相等 转载于:https://my.oschina.net/u/1449566/bl…

使用ACME部署生成阿里云免费HTTPS证书

使用ACME部署HTTPS证书 背景 现在越来越多的服务都是基于web&#xff0c;大多数默认使用HTTP协议。HTTP协议是一种没有加密的协议&#xff0c;所有数据都通过明文传输&#xff0c;即便是只在内网使用也存在一定的安全风险。尤其是对于登录等操作&#xff0c;账号密码通过HTTP…

Java性能优化的50个细节(珍藏版)

来源&#xff1a;http://t.cn/EMze6kc在JAVA程序中&#xff0c;性能问题的大部分原因并不在于JAVA语言&#xff0c;而是程序本身。养成良好的编码习惯非常重要&#xff0c;能够显著地提升程序性能。1. 尽量在合适的场合使用单例使用单例可以减轻加载的负担&#xff0c;缩短加载…

强化学习基础篇 OpenAI Gym 环境搭建demo

1. Gym介绍 Gym是一个研究和开发强化学习相关算法的仿真平台&#xff0c;无需智能体先验知识&#xff0c;由以下两部分组成 Gym开源库&#xff1a;测试问题的集合。当你测试强化学习的时候&#xff0c;测试问题就是环境&#xff0c;比如机器人玩游戏&#xff0c;环境的集合就…

九、PyQt5 QLineEdit输入的子网字符串校验QRegExp

自己编写的用于对lineEdit编辑框输入的子网,例如:192.168.60.1/24字符串校验是否合规。 # 限制lineEdit编辑框只能输入./字符和数字reg = QRegExp([0-9./]+$)validator = QRegExpValidator(self)validator.setRegExp(reg)self.lineEditSubNet.setValidator(validator)

为什么阿里巴巴不建议在for循环中使用+进行字符串拼接

本文&#xff0c;也是对于Java中字符串相关知识的一个补充&#xff0c;主要来介绍一下字符串拼接相关的知识。本文基于jdk1.8.0_181。字符串拼接字符串拼接是我们在Java代码中比较经常要做的事情&#xff0c;就是把多个字符串拼接到一起。我们都知道&#xff0c;String是Java中…

Google强化学习框架SEED RL环境部署

如上述博客有任何错误或者疑问&#xff0c;请加VX&#xff1a;1755337994&#xff0c;及时告知&#xff01;万分感激&#xff01; 本框架是Google发布于ICLR2020顶会上&#xff0c;这两天发布于Google Blog上 **论文Arxiv&#xff1a;**https://arxiv.org/abs/1910.06591 ||…

PLSQL连接oracel数据库_用户无法登陆_oci.dll_配置问题

为什么80%的码农都做不了架构师&#xff1f;>>> 由于工作需要换了台新电脑&#xff0c;在抚摸新笔记本满怀新鲜感和喜悦心情之余&#xff08;其实纯屌丝味尽显无余&#xff0c;就基本和双手捧托一颗高大上的茶叶蛋般内心激动且泪眼汪汪&#xff09;&#xff0c;重新…