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

相关文章

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

Centos7安装JDK1.8保姆版

工欲善其事,必先利其器。这句话同样适用于学习Java编程。在开始Java的学习旅程之前,我们必须首先配置好适合的开发环境。 通过事先准备好这些工具和配置,我们可以避免在学习过程中遇到因环境问题导致的代码异常或错误。一个稳定、高效的开发环境能够让我们更加专注于代码的学习和编写,提升学习效率,减少不必要的困扰和挫折感。因此,在学习Java之初,投入一些时间和精力来配置好开发环境是非常值得的。这将为我

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP