【部署】Apache DolphinScheduler 伪集群部署

news2024/11/17 19:45:19

【部署】Apache DolphinScheduler(海豚) 伪集群部署(Pseudo-Cluster)

  • Standalone极速体验版
  • DolphinScheduler 伪集群部署
    • 前置准备工作
    • 本地部署环境
    • 准备 DolphinScheduler 启动环境
      • 配置用户免密及权限
      • 配置机器SSH免密登陆
    • 启动zookeeper
    • 下载并解压
    • 修改相关配置
    • 初始化数据库
    • 安装并启动 DolphinScheduler
    • 登录 DolphinScheduler
    • 启停服务
  • 快速上手
  • 部署遇到的问题

Standalone极速体验版

Standalone 仅适用于 DolphinScheduler 的快速体验.

如果你是新手,想要体验 DolphinScheduler 的功能,推荐使用Standalone方式体检。如果你想体验更完整的功能,或者更大的任务量,推荐使用伪集群部署。如果你是在生产中使用,推荐使用集群部署或者kubernetes

注意: Standalone仅建议20个以下工作流使用,因为其采用 H2 Database, Zookeeper Testing Server,任务过多可能导致不稳定

DolphinScheduler 伪集群部署

伪集群部署目的是在单台机器部署 DolphinScheduler 服务,该模式下master、worker、api server、logger server都在同一台机器上

前置准备工作

伪分布式部署 DolphinScheduler 需要有外部软件的支持

  1. JDK:下载JDK (1.8+),并将 JAVA_HOME 配置到以及 PATH 变量中。如果你的环境中已存在,可以跳过这步。
  2. 二进制包:在下载页面下载 DolphinScheduler 二进制包
  3. 数据库:PostgreSQL (8.2.15+) 或者 MySQL (5.7+),两者任选其一即可,如 MySQL 则需要 JDBC Driver 8.0.16
  4. 注册中心:ZooKeeper (3.4.6+)

注意: DolphinScheduler 本身不依赖 Hadoop、Hive、Spark,但如果你运行的任务需要依赖他们,就需要有对应的环境支持

本地部署环境

  1. 虚拟软件:Vmware15 安装指南
  2. 操作系统:Ubuntu 11.3.0-1ubuntu1~22.04 安装指南
  3. JDK:jdk-8u231-linux-x64 安装指南
  4. Zookeeper:apache-zookeeper-3.5.7-bin 安装指南
  5. DolphinScheduler:apache-dolphinscheduler-2.0.5-bin 下载地址
  6. 数据库:mysql Ver 8.0.31-0ubuntu0.22.04.1 for Linux on x86_64 ((Ubuntu)) 安装指南

准备 DolphinScheduler 启动环境

配置用户免密及权限

  • 官网原话: 因为任务执行服务是以 sudo -u {linux-user} 切换不同 linux 用户的方式来实现多租户运行作业,所以部署用户需要有 sudo 权限,而且是免密的。 原话出处
  • 我的选择: 我使用的root用户,不需要这一步。 Ubuntu登录root

配置机器SSH免密登陆

由于安装的时候需要向机器发送资源,所以要求机器能实现SSH免密登陆。配置免密登陆的步骤如下

## su dolphinscheduler 我用root不需要这步

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

注意: 配置完成后,可以通过运行命令 ssh localhost 判断是否成功,如果不需要输入密码就能ssh登陆则证明成功

启动zookeeper

进入 zookeeper 的安装目录,将 zoo_sample.cfg 配置文件复制到 conf/zoo.cfg,并将 conf/zoo.cfg 中 dataDir 中的值改成 dataDir=./tmp/zookeeper

# 启动 zookeeper
zkServer.sh start

检查一下时候成功启动

jps	
-------------------------------------------
root@ubuntu204:~# jps
11622 QuorumPeerMain   #出现这个进程代表启动成功
35131 Jps
root@ubuntu204:~# 

下载并解压

# 1 创建安装目录
mkdir /opt/DolphinScheduler

# 2 将DolphinScheduler赋予给escheduler用户
# chown -R escheduler:escheduler /opt/DolphinScheduler   ##我用root用户不用这个

# 3 下载二进制包,或者通过SFTP上传二进制包
cd /opt/DolphinScheduler

wget https://www.apache.org/dyn/closer.lua/dolphinscheduler/2.0.5/apache-dolphinscheduler-2.0.5-bin.tar.gz

#4解压
tar -zxvf apache-dolphinscheduler-2.0.5-bin.tar.gz

mv apache-dolphinscheduler-2.0.5-bin dolphinscheduler2.0.5

cd dolphinscheduler2.0.5/

修改相关配置

完成了基础环境的准备后,在运行部署命令前,还需要根据环境修改配置文件。配置文件在路径在conf/config/install_config.conf下,一般部署只需要修改INSTALL MACHINE、DolphinScheduler ENV、Database、Registry Server部分即可完成部署,下面对必须修改参数进行说明

# ---------------------------------------------------------
# INSTALL MACHINE
# ---------------------------------------------------------
# 因为是在单节点上部署master、worker、API server,所以服务器的IP均为机器IP或者localhost
ips="localhost"
masters="localhost"
workers="localhost:default"
alertServer="localhost"
apiServers="localhost"
pythonGatewayServers="localhost"

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

# 部署用户,填写在 **配置用户免密及权限** 中创建的用户
deployUser="root"

# ---------------------------------------------------------
# DolphinScheduler ENV
# ---------------------------------------------------------
# JAVA_HOME 的路径,是在 **前置准备工作** 安装的JDK中 JAVA_HOME 所在的位置
javaHome="opt/jdk/jdk1.8"

# ---------------------------------------------------------
# Database
# ---------------------------------------------------------
# 数据库的类型,用户名,密码,IP,端口,元数据库db。其中 DATABASE_TYPE 目前支持 mysql, postgresql, H2
# 请确保配置的值使用双引号引用,否则配置可能不生效
DATABASE_TYPE="mysql"
SPRING_DATASOURCE_URL="jdbc:mysql://localhost:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8"
# 如果你不是以 dolphinscheduler/dolphinscheduler 作为用户名和密码的,需要进行修改
SPRING_DATASOURCE_USERNAME="dolphinscheduler"
SPRING_DATASOURCE_PASSWORD="dolphinscheduler"

# ---------------------------------------------------------
# Registry Server
# ---------------------------------------------------------
# 注册中心地址,zookeeper服务的地址
registryServers="localhost:2181"

初始化数据库

DolphinScheduler 元数据存储在关系型数据库中,目前支持 PostgreSQL 和 MySQL,如果使用 MySQL 则需要手动下载 mysql-connector-java 驱动 (8.0.16) 并移动到 DolphinScheduler 的 lib目录下。下面以 MySQL 为例,说明如何初始化数据库

#登录
mysql -uroot -p

#创建数据库
mysql> CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

#创建用户
mysql> create user 'dolphinscheduler'@'%' identified by 'dolphinscheduler';

#用户授权
mysql> GRANT ALL PRIVILEGES ON *.* TO 'dolphinscheduler'@'%';

#刷新
mysql> flush privileges;

完成上述步骤后,您已经为 DolphinScheduler 创建一个新数据库,现在你可以通过快速的 Shell 脚本来初始化数据库

sh script/create-dolphinscheduler.sh

安装并启动 DolphinScheduler

使用上面创建的部署用户运行以下命令完成部署,部署后的运行日志将存放在 logs 文件夹内

sh install.sh

注意: 第一次部署的话,可能出现 5 次sh: bin/dolphinscheduler-daemon.sh: No such file or directory相关信息,次为非重要信息直接忽略即可

登录 DolphinScheduler

浏览器访问地址 http://localhost:12345/dolphinscheduler 即可登录系统UI。默认的用户名和密码是 admin/dolphinscheduler123

启停服务

# 一键停止集群所有服务
sh ./bin/stop-all.sh

# 一键开启集群所有服务
sh ./bin/start-all.sh

# 启停 Master
sh ./bin/dolphinscheduler-daemon.sh stop master-server
sh ./bin/dolphinscheduler-daemon.sh start master-server

# 启停 Worker
sh ./bin/dolphinscheduler-daemon.sh start worker-server
sh ./bin/dolphinscheduler-daemon.sh stop worker-server

# 启停 Api
sh ./bin/dolphinscheduler-daemon.sh start api-server
sh ./bin/dolphinscheduler-daemon.sh stop api-server

# 启停 Logger
sh ./bin/dolphinscheduler-daemon.sh start logger-server
sh ./bin/dolphinscheduler-daemon.sh stop logger-server

# 启停 Alert
sh ./bin/dolphinscheduler-daemon.sh start alert-server
sh ./bin/dolphinscheduler-daemon.sh stop alert-server

# 启停 Python Gateway
sh ./bin/dolphinscheduler-daemon.sh start python-gateway-server
sh ./bin/dolphinscheduler-daemon.sh stop python-gateway-server

快速上手

  • 喜欢看视频的伙伴可以参见手把手教你如何《快速上手 Apache DolphinScheduler 教程》

  • 管理员用户登录
    地址:http://localhost:12345/dolphinscheduler 用户名密码:admin/dolphinscheduler123
    在这里插入图片描述

  • 创建队列
    在这里插入图片描述

  • 创建租户
    在这里插入图片描述

  • 创建普通用户
    在这里插入图片描述

  • 使用普通用户登录
    点击右上角用户名“退出”,重新使用普通用户登录。

  • 项目管理->创建项目->点击项目名称
    在这里插入图片描述

  • 点击工作流定义->创建工作流定义->上线工作流定义
    在这里插入图片描述

  • 运行工作流定义->点击工作流实例->点击工作流实例名称->双击任务节点->查看任务执行日志
    在这里插入图片描述

部署遇到的问题

Source : commond not found
Text-to-HTML conversion tool
Zookeeper connect time out
John
Luke
localhost:2181
John
Luke

参考文章 : https://dolphinscheduler.apache.org/zh-cn/docs/2.0.5/guide/quick-start

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

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

相关文章

解决bootstrap table footerFormatter表脚和表体列错位问题

需求:需要把表格的一列的内容在表最下面一行进行汇总,显示合计 实现合计步骤: 1.在初始化表格时,开启显示表脚的属性,如图 2.在需要合计的列中添加footerFormatter函数,如图 这样就会在表格最下面显示合计…

年度征文 | 再见2022,你好2023

年度征文 | 再见2022,你好2023题记个人简介初衷写作展望题记 这两天打开CSDN,发现消息栏一直提示我写这个年度征文,本来觉得自己没有经验可以分享,毕竟自己仍处于该领域的起步阶段,无法给大家提供有用的建议或实用的总…

功率放大器模块是什么意思(功率放大模块工作原理)

在日常电子实验测试中,很多电子工程师都会经常使用到功率放大器,随着人们对于功率放大器的频繁使用,对于功放的要求也越来越多,有些工程师就想要使用尺寸较小的仪器,功率放大模块便应运而生,今天就请安泰电…

关于几个坐标系的关系NED ENU ROS

几个坐标系转来转去,时间一长又搞混了。 地球固连坐标系 WND 地球固连坐标系 NED 机体坐标系 NED 惯性系 x轴在多旋翼对称平面内指向机头(机头方向与多旋字形或X字形相关)。 z轴在飞机对称平面内,垂直轴向下。然后,按…

从GPT到chatGPT(二):GPT2

GPT2 文章目录GPT2前言正文摘要方法概述训练数据输入表示模型结构实验语言模型Children’s Book Test(CBT)LAMBADAWinograd Schema Challenge(WSC)Reading ComprehensionSummarizationTranslationQuestion AnsweringGeneralizatio…

Linux下搭建Git服务器

目录 步骤一.安装Git: 步骤二.安装Gitosis 安装Gitosis依赖的工具 进入到Gitosis目录执行: 出现下面的信息表示安装成功 步骤三.服务器端创建git用户来管理Git服务 服务器端的Git配置公钥 步骤四.服务器端创建Git仓库 步骤五.客户端clone服务器…

PPT如何转换成PDF?三种转换方法告诉你

大家在工作中会使用PPT格式的文件来汇报工作流程吗?当上级领导要求你将这些工作内容全部汇总,并用PDF文件发给他的时候,你是怎么做的呢?是重新将内容复制黏贴到PDF文件中吗?今天告诉你一个简单的方法,其实只…

【echarts】自定义legend样式 echarts图例与⽂字对齐问题

较完整的使用介绍参考:https://blog.csdn.net/changyana/article/details/126281275 起因 今天使⽤echarts时发现官⽹⽰例图例部分并没有进⾏对齐,⼀上⼀下逼死强迫。。。 解决办法 textStyle: { // 添加height: 10, // 关键在这个height设置rich: …

前端开发-异常问题记录

Q1:Chrome 中文界面下默认会将小于 12px 的文本强制按照 12px 显示; 可通过加入 CSS 属性 -webkit-text-size-adjust: none; 解决 Q2:浏览器跨域问题(通过配置浏览器解决) 将chrome浏览器复制一个进行修改&#xff…

CRM如何帮助企业提高工作效率?

企业管理者在创建团队时,除了要凝聚人心,更注重效率,企业团队的工作效率直接决定了企业的生产力,生产力决定战斗力,使用CRM系统可以帮助企业提高工作效率。 前言 企业管理者在创建企业团队时,除了要凝聚人…

IOS开发基础 · SwiftUI · StanfordCS193p Lecture3-4

IOS开发Lecture3MVVMVarieties of Typesstruct & classdont care - genericsFunctionClosuresprivate(set)for函数作为参数传给函数初始化顺序Lecture4修改代码View界面预览代码修改构建View-ViewMode点击事件让bool值反转internal external nameprint("\( )")st…

NeurIPS 2022: S3GC 可扩展图聚类

talk 文章的创新性不大,meta-review是给了 如果还可接收,再考虑。 但是 本文确实是 可扩展图聚类的重要一步。已有的方法 或多或少只在 小的数据集上 进行聚类。 存在一些非聚类的通用gnn方法进行采样。本文就是利用采样降低复杂度,并进行大…

基于FPGA的UDP 通信(四)

引言 前文链接: 基于FPGA的UDP 通信(一) 基于FPGA的UDP 通信(二) 基于FPGA的UDP 通信(三) 本文基于FPGA与MATLAB作千兆以太网通信模块UDP数据接收实验板级验证:FPGA接收上位机数…

大前端 TOB 0.5 WordPress模板 漂亮大气自适应多终端多功能

tob主题基于WordPress程序,响应式布局支持电脑、平板和手机的完美展示。tob适用于各种图片展示网站、新闻站、电影站、美图站、资源站等等,扁平化设计、公众号展示、打赏功能、列表无限加载、相册功能。tob是基于WordPress程序的主题,由theme…

多线程与高并发(五)

【ReentrantLock源码】: 【AQS源码】: 【公平与非公平】: 【公平】: 线程想要获得一把锁,乖乖的去这把锁的等待队列里排队————公平。 【非公平】: 线程想要获得一把锁,不去排队&#xff0c…

嵌入式实时操作系统的设计与开发(九)

同步机制 aCoral信号量机制不仅可以实现临界资源互斥访问,控制系统中临界资源多个实例的使用,还可以用于维护线程之间、线程和中断之间的同步。 当信号量用来实现同步时,起始值为0,如一个线程正在等待某个I/O操作,当…

【外贸小知识】通过whatsapp获取流量的几种小方法

相信做外贸的小伙伴们对于是whatsap比较熟悉的,都想通过whatsapp来获取更多流量,更多用户。今天我们花漾灵动小编就给大家汇总了通过whatsapp获取流量的几种小方法,希望能对新手小白有点作用哦!通过whatsapp获取流量的几种小方法1…

【PyTorch深度学习实践】07_Dataset和Dataloader

文章目录1. Epoch,Iteration,Batch-Size2. Dataset 和 Dataloader2.1 Dataset2.2 Dataloader2.2.1 例子2.2.2 enumerate函数3. 完整代码1. Epoch,Iteration,Batch-Size 参考博客 2. Dataset 和 Dataloader 参考博客 功能概览 2…

2023年浙江建筑八大员(标准员)精选真题题库及答案

百分百题库提供建筑八大员(标准员)考试试题、建筑八大员(标准员)考试真题、建筑八大员(标准员)证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。 14.根据《施工现场临…

Electron Vue之间的通讯 自定义标题栏实现最小化全屏关闭功能

方便以后定制化使用,学习记录一下。 话不多说,先看看效果吧。 效果 版本 electron ^13.0.0 知识点 Vue 相互通讯 Electron 标题栏主要逻辑代码 新建public\preload.js文件,用于前端全局发送和监听消息。 const { contextBridge, ipcRen…