【部署】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/DolphinSchedulerwget 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.gzmv apache-dolphinscheduler-2.0.5-bin dolphinscheduler2.0.5cd 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

【部署】Apache DolphinScheduler 伪集群部署相关推荐

  1. zookeeper的单实例和伪集群部署

    原文链接: http://gudaoyufu.com/?p=1395 zookeeper工作方式 ZooKeeper 是一个开源的分布式协调服务,由雅虎创建,是 Google Chubby 的开源实现 ...

  2. centos7 kafka2.3.1单机伪集群部署

    接上篇文章centos7 zookeeper单点部署,准备好相应的包 cp config/server.properties config/server0.properties vi config/s ...

  3. centos7 zookeeper3.5.6单机伪集群部署

    接上篇文章centos7 zookeeper单点部署准备好zookeeper包,进行集群部署 单机伪集群部署 zookeeper1 zookeeper2 zookeeper3 三个目录分别部署一个服务 ...

  4. Hadoop部署方式-高可用集群部署(High Availability)

    Hadoop部署方式-高可用集群部署(High Availability) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客的高可用集群是建立在完全分布式基础之上的,详情请参 ...

  5. K8S部署工具:KubeOperator集群部署

    K8S部署工具:KubeOperator集群部署 集群信息⚓︎ 项目: 选择集群所属项目 供应商: 支持裸金属(手动模式)和部署计划(自动模式) 版本: 支持版本管理中最新的两个 Kubernetes ...

  6. zookeeper伪集群部署

    zookeeper 伪集群安装 Time : 20181024 环境 centos7 zookeeper-3.4.6 zookeerper安装启动 将下载好的zookeeper-3.4.6.tar通过 ...

  7. Dubbo与Zookeeper伪集群部署

    1.美图 官网:http://dubbo.apache.org/#!/docs/user/preface/background.md?lang=zh-cn 1.准备Zookeeper zookeepe ...

  8. swarm部署mysql_「实战篇」开源项目docker化运维部署-借助dockerSwarm搭建集群部署(九)...

    为了让学习的知识融汇贯通,目前是把所有的集群都放在了一个虚拟机上,如果这个虚拟机宕机了怎么办?俗话说鸡蛋不要都放在一个篮子里面,把各种集群的节点拆分部署,应该把各种节点分机器部署,多个宿主机,这样部署 ...

  9. 服务搭建篇(七) Elasticsearch单节点部署以及多节点集群部署

    感兴趣的话大家可以关注一下公众号 : 猿人刘先生 , 欢迎大家一起学习 , 一起进步 , 一起来交流吧! 1.Elasticsearch Elasticsearch(简称ES) 是一个分布式 , RE ...

最新文章

  1. mysql data ibdata1_database - 如何在MySQL中收缩/清除ibdata1文件
  2. Delphi xe7 FireMonkey / Mobile (Android, iOS)生成 QR Code完整实例
  3. 华为 mysql实例监控,华为云文档数据库服务DDS监控告警全新优化
  4. Visual C++ dll
  5. linux命令tree
  6. 探究 Linux 内核 dts 设备树定义文件
  7. 专科python应届生工资多少-作为一个应届毕业生月薪15K?你哪来的自信?
  8. knx智能照明控制系统电路图_智能照明控制系统(KNX)
  9. 黑苹果xxx.efi格式文件介绍
  10. 【CSS 用户界面属性 (Basic user interface)】
  11. 属于计算机网络硬件系统有哪些,下列不属于计算机硬件系统的是()
  12. python对数正态分布函数_python中的对数正态分布
  13. pil库修改图片大小_使用PIL改变图像格式及尺寸
  14. DGV下面加入合计功能
  15. Firebug网络面板里的两条竖线表示什么?
  16. MATLAB学习笔记:行列式及其应用
  17. “第二名是头号输家”惯例下,“鱼虎斗”真的结束了吗?
  18. Tomcat 自定义启动startup.bat文件
  19. 基于JAVA医院医护人员排班系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署
  20. 外文文献——IEEE论文免费下载

热门文章

  1. 罗永浩:锤子手机一共卖了12万部,我已经交出微博密码
  2. 鸿蒙报名多久能用试纸测出来,怀孕多久可以用试纸测出来? 这几点不注意, 会影响准确率...
  3. c语言实现任务调度器
  4. python判断一个对象是否为空_python 判断对象是否为空
  5. java怎么判断对象为空_java中怎么判断对象是否为空
  6. uniapp 小程序上传图片
  7. Python开发实战案例之网络爬虫(附源码)-张子良-专题视频课程
  8. android 黑技术,android黑科技
  9. MacOS Ventura 13.0 如何开启键盘灯
  10. 破解 M1卡(洗澡卡、开水卡,健身卡,饭卡)等