Apache DolphinScheduler 【安装部署】

2024-04-04 14:12

本文主要是介绍Apache DolphinScheduler 【安装部署】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

        今天来学习一下 DolphinScheduler ,这是一个任务调度工具,现在用的比较火爆。

1、安装部署

1.0、准备工作

1.0.1、集群规划 

dolphinscheduler 比较吃内存,所以尽量给 master 节点多分配一点内存,桌面和虚拟机里能关的应用程序就关了 

hadoop102

master,worker
hadoop103worker
hadoop104worker

这里的 master 原本应该装至少两台(确保 HA),但是这里只是学习使用,考虑到内存的问题就只装一台了。 

1.0.2、前置工作 

三台节点全部安装 JDK1.8并配置环境变量、MySQL5.7+、Zookeeper3.4.6+、psmisc

# 没装 psmisc 的用下面的命令在三台节点都装一遍
sudo yum install -y psmisc

1.0.3、解压

注意:这里解压不是直接解压到安装目录,这只是一个临时目录,我们待会会用 dolphinscheduler 自带的一键部署脚本去分布式安装。这里需要把它安装在一个临时目录并进行一些配置。 

# 直接解压到当前目录 /opt/software
tar -zxvf apache-dolphinscheduler-2.0.5-bin

手欠?

 如果安装过程中手欠不小心用 root 用户上传的软件包,需要重新修改一下软件包或者已安装的目录的所有者和所属组,不然后患无穷(安装或者启动过程得反复输入用户密码!):

chown -R 用户名 dolphinscheduler的安装目录chgrp -R :用户组 dolphinscheduler的安装

1.1、创建数据库及用户

# 创建数据库
CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
# 创建用户
CREATE USER 'dolphinscheduler'@'%' IDENTIFIED BY 'dolphinscheduler';
# 如果报错:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 就执行下面的配置:
# 设置密码强度为 0 (只校验长度,强度1和2还会校验密码内容)
set global validate_password_policy=0;
# 设置密码最低长度
set global validate_password_length=4;
# 赋予 dolphinscheduler 用户操作 dolphinscheduler 数据库的权限
grant all privileges on dolphinscheduler.* to 'dolphinscheduler'@'%';
# 刷新权限
flush privileges;

1.2、配置一键部署脚本

这里配置省略,配置还是比较简单的,看着注释就可以自己配置。

1.3、初始化数据库

拷贝 mysql 驱动(我用的 8.0.16版本的)到 dolphinscheduler lib 目录下,虽然我的数据库是 5.7.31 但是这个驱动是向下兼容的。 

script/create-dolphinscheduler.sh

1.4、一键部署

先启动 Zookeeper 和 Hadoop,然后:

./install.sh

安装好之后,dolphinscheduler 自动就启动了,可以跳过步骤 5 ,直接去看 Web UI。 

1.5、启动/停止 dolphinScheduler 服务

注意尽量在启动的时候使用 ./ 标识是当前路径下的 start-all.sh 或者 stop-all.sh 防止和 hadoop 的启停命令混淆!

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

 bin 目录下还有一个脚本叫做 dolphinscheduler-daemon.sh ,可以直接调用查看它的使用方法:

[lyh@hadoop102 bin]$ ./dolphinscheduler-daemon.sh 
Usage: dolphinscheduler-daemon.sh (start|stop|status) <api-server|master-server|worker-server|alert-server|standalone-server|python-gateway-server>

我们可以通过参数来指定启动或者关闭某个特定的服务:

./dolphinscheduler-daemon.sh start master-server

1.6、查看 UI 界面

打开:

http://hadoop102:12345/dolphinscheduler

2、基本使用

2.1、安全配置中心

2.1.1、Yarn 队列管理

        这里地方有一个 “创建队列” 按钮,但是它并不会帮我们在 Yarn 中创建队列,而是在这里创建一个队列供我们的任务指定(在 Yarn 上运行任务需要指定在哪个队列里跑),这里创建的队列必须对应 Yarn 上得存在,不然会报错!

        只有 MR 、Spark 、Flink 等程序需要 “队列” 参数才使用。

2.1.2、租户管理

        能够为多个用户提供相互隔离的资源服务就称为多租户的服务(比如我们的 HDFS、Yarn 都是可以被多个用户一起使用的) 。DolphinScheduler 在帮我们向 Yarn 中提交任务的时候也需要有身份(用户)才能提交。

注意:这里租户指的是我们 DolphinScheduler 的 Worker 节点的租户,因为最终任务是 Worker 去提交任务的,每个 Worker 在不同的节点上,所以将来提交任务的时候,该 Worker 节点得有该用户才行。

        如果提交任务后,发现并没有这个 linux 用户,默认会任务失败。但是也可以通过配置 workers.properties 文件中的 worker.ernant.auto.create=true(默认为 false)实现当 linux 中不存在该用户时,自动创建该用户。这个参数要求启动 worker 进程的用户具备免密运行 sudo 命令的权限。

2.1.3、用户管理

        用户对应的是 DolphinScheduler 的用户,用于登录 DolphinScheduler。用户分为管理员和普通用户两种。

管理员有授权和用户管理的权限,但是没有创建项目和工作流定义的操作权限。

普通用户可以创建项目和对工作流定义的创建、编辑、执行等操作。

注意:当前的安全中心的配置,只能管理员用户来操作!

2.1.4、告警组管理和告警实例管理

关系:一个告警组可以包含多个告警实例。

        一个告警实例中包含一个接受告警信息的人的信息,比如微信、钉钉、飞书、邮件等。一个告警组包含很多个告警实例,所以当我们的任务出现问题的时候,该任务指定的告警组的所有告警实例都会收到消息。

2.1.5、Worker 分组管理

一个 Worker 可以属于不同的分组(注意:这里的组名 default 和我们的Yarn没有半毛钱关系,它只是在我们没有指定组名时的一个默认分组,就像我们的Kafka消费者组)。

同样,我们也可以通过设置 worker.properties 配置文件来添加或修改 worker 组。

2.1.6、环境管理

        这里指的是 Worker 运行任务时的环境,比如我们在执行一个 Hive 命令的时候(hive -e insert overwrite table xxx select xxx),我们的脚本需要导入环境变量,不然找不到这个命令(比如 hive 脚本需要导入 hive 的bin目录到 PATH 中)。

        这样,一个 worker 组就有了多个不同环境的 worker 节点,到时候跑任务的时候我们就可以直接找一个具有该执行所需环境的节点即可。

2.1.7、令牌管理

        令牌用于通过接口访问 DolphinScheduler 各项服务时的用户验证。我们普通用户通过 UI 访问 DolphinScheduler 的时候不需要令牌。但是如果通过第三方接口去访问就必须使用令牌了。

这篇关于Apache DolphinScheduler 【安装部署】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/875992

相关文章

python管理工具之conda安装部署及使用详解

《python管理工具之conda安装部署及使用详解》这篇文章详细介绍了如何安装和使用conda来管理Python环境,它涵盖了从安装部署、镜像源配置到具体的conda使用方法,包括创建、激活、安装包... 目录pytpshheraerUhon管理工具:conda部署+使用一、安装部署1、 下载2、 安装3

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学

龙蜥操作系统Anolis OS-23.x安装配置图解教程(保姆级)

《龙蜥操作系统AnolisOS-23.x安装配置图解教程(保姆级)》:本文主要介绍了安装和配置AnolisOS23.2系统,包括分区、软件选择、设置root密码、网络配置、主机名设置和禁用SELinux的步骤,详细内容请阅读本文,希望能对你有所帮助... ‌AnolisOS‌是由阿里云推出的开源操作系统,旨

k8s部署MongDB全过程

《k8s部署MongDB全过程》文章介绍了如何在Kubernetes集群中部署MongoDB,包括环境准备、创建Secret、创建服务和Deployment,并通过Robo3T工具测试连接... 目录一、环境准备1.1 环境说明1.2 创建 namespace1.3 创建mongdb账号/密码二、创建Sec

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

mysql-8.0.30压缩包版安装和配置MySQL环境过程

《mysql-8.0.30压缩包版安装和配置MySQL环境过程》该文章介绍了如何在Windows系统中下载、安装和配置MySQL数据库,包括下载地址、解压文件、创建和配置my.ini文件、设置环境变量... 目录压缩包安装配置下载配置环境变量下载和初始化总结压缩包安装配置下载下载地址:https://d

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

LinuxMint怎么安装? Linux Mint22下载安装图文教程

《LinuxMint怎么安装?LinuxMint22下载安装图文教程》LinuxMint22发布以后,有很多新功能,很多朋友想要下载并安装,该怎么操作呢?下面我们就来看看详细安装指南... linux Mint 是一款基于 Ubuntu 的流行发行版,凭借其现代、精致、易于使用的特性,深受小伙伴们所喜爱。对

Python项目打包部署到服务器的实现

《Python项目打包部署到服务器的实现》本文主要介绍了PyCharm和Ubuntu服务器部署Python项目,包括打包、上传、安装和设置自启动服务的步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录一、准备工作二、项目打包三、部署到服务器四、设置服务自启动一、准备工作开发环境:本文以PyChar