• DolphinScheduler 3.0安装及使用


    Apache DolphinScheduler 3.0.0 升级到 3.1.8 教程

    可参考下方的帖子

    Apache DolphinScheduler 3.0.0 升级到 3.1.8 教程-CSDN博客需要将 使用到的数据库(比如MySQL)的connector (本人亲测 mysql-connector-java-8.0.30.jar 适用,其他connector版本未测试)放到相应的libs库里。为了开发者提供便利查询服务:包括查找Jar,Jar下载,查找class文件,查询Maven仓库及引入代码,查询Gradle引入代码等与Java开发相关的功能服务。Jar查找,Jar下载,class文件,Maven仓库查询,Gradle引入代码 -时代Java。还需要替换相应的zookeeper jar包,https://blog.csdn.net/qq0719/article/details/133882738?spm=1001.2014.3001.5501

    搜索很多教程,都是基于DolphinScheduler 3.0版本之前的安装教程,已不适用3.0版本。参考官方部署安装说明,我将我的安装过程,以图文的形式呈现,希望能给大家一些启发。

    以三台机器为例,集群化安装部署

    参考的官方文档

    伪集群部署icon-default.png?t=N7T8https://dolphinscheduler.apache.org/zh-cn/docs/latest/user_doc/guide/installation/pseudo-cluster.html集群部署(Cluster)icon-default.png?t=N7T8https://dolphinscheduler.apache.org/zh-cn/docs/latest/user_doc/guide/installation/cluster.html数据源配置icon-default.png?t=N7T8https://dolphinscheduler.apache.org/zh-cn/docs/latest/user_doc/guide/howto/datasource-setting.html

    集群规划

    服务器安装的组件
    test01Master, Worker, API, Alert
    test02Master, Worker, API
    test03Master, Worker

    前置条件准备

    JDK(JDK安装过程不赘述)

    数据库:MySQL(MySQL 8安装过程不赘述)

    DolphinScheduler 二进制包

    zookeeper

    解压缩DolphinScheduler 二进制包

    1. #mkdir -p /opt/dolphinscheduler
    2. # tar zxvf /XXXX/apache-dolphinscheduler-3.0.0-bin.tar.gz -C /opt/dolphinscheduler/

    在集群所有节点修改/etc/profile配置文件,添加JDK环境变量

    #vi /etc/profile

    在配置文件末尾添加JAVA环境变量(若已经配置,可忽略) 

    1. export PATH=$JAVA_HOME/bin:$PATH
    2. export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tool.jar:$CLASSPATH

    立即生效

    #source /etc/profile

    系统添加一个dolphinscheduler用户

    创建部署用户,并且一定要配置 sudo 免密。以创建 dolphinscheduler 用户为例

    创建用户需使用 root 登录

    # useradd dolphinscheduler

    添加密码(具体密码自行设置,如下是伪代码)

    # echo "XXXXXXXXX" | passwd --stdin dolphinscheduler

    配置 sudo 免密

    1. # sed -i '$adolphinscheduler ALL=(ALL) NOPASSWD: NOPASSWD: ALL' /etc/sudoers
    2. # sed -i 's/Defaults requirett/#Defaults requirett/g' /etc/sudoers

    修改目录权限,使得部署用户对二进制包解压后的 apache-dolphinscheduler-*-bin 目录有操作权限

    # chown -R dolphinscheduler:dolphinscheduler /opt/dolphinscheduler/apache-dolphinscheduler-*-bin

    配置机器SSH免密登陆

    修改集群hosts文件的过程不赘述

    1. # su - dolphinscheduler
    2. 生成公钥和私钥:
    3. $ ssh-keygen -t rsa
    4. 然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
    5. 将dolphinscheduler用户/home/dolphinscheduler/.ssh目录下的公钥文件内容添加到authorized_keys文件中,并修改文件权限为600
    6. $cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    7. $chmod 600 ~/.ssh/authorized_keys
    8. $ll ~/.ssh/authorized_keys
    9. 将公钥拷贝到要免密登录的目标机器上(三台机器)
    10. $ssh-copy-id test01
    11. $ssh-copy-id test02
    12. $ssh-copy-id test03

    启动zookeeper

    本人集群使用CDH管理,此过程可忽略,自建的HDFS大数据系统,请参考相应Zookeeper启动方法,此处不过多赘述

    修改相关配置

    根据你的机器环境修改配置文件。配置文件可以在安装目录 bin/env 中找到,他们分别是 并命名为 install_env.sh 和 dolphinscheduler_env.sh

    修改 install_env.sh 文件

    文件 install_env.sh 描述了哪些机器将被安装 DolphinScheduler 以及每台机器对应安装哪些服务。

    引用官方的说明

    # --------------------------------------------------------- # INSTALL MACHINE # --------------------------------------------------------- # 需要配置master、worker、API server,所在服务器的IP均为机器IP或者localhost # 如果是配置hostname的话,需要保证机器间可以通过hostname相互链接 # 如下图所示,部署 DolphinScheduler 机器的 hostname 为 ds1,ds2,ds3,ds4,ds5,其中 ds1,ds2 安装 master 服务,ds3,ds4,ds5安装 worker 服务,alert server安装在ds4中,api server 安装在ds5中

    ips="ds1,ds2,ds3,ds4,ds5"

    masters="ds1,ds2"

    workers="ds3:default,ds4:default,ds5:default"

    alertServer="ds4"

    apiServers="ds5"

    本机的规划

    服务器安装的组件
    test01Master, Worker, API, Alert
    test02Master, Worker, API
    test03Master, Worker

    本地install_env.sh脚本配置项修改如下

    1. # su - dolphinscheduler
    2. $ cd /opt/dolphinscheduler/apache-dolphinscheduler-3.0.0-bin/bin/env
    3. $ vim install_env.sh

    ips="test01,test02,test03"

    masters="test01,test02,test03"

    workers="test01:default,test02:default,test03:default"

    alertServer="test01"

    apiServers="test01,test02"

    修改 dolphinscheduler_env.sh 文件

    dolphinscheduler_env.sh 描述了下列配置:

    • DolphinScheduler 的数据库配置,详细配置方法见初始化数据库
    • 一些任务类型外部依赖路径或库文件,如 JAVA_HOME 和 SPARK_HOME都是在这里定义的
    • 注册中心zookeeper
    • 服务端相关配置,比如缓存,时区设置等 

     如果您不使用某些任务类型,您可以忽略任务外部依赖项,但您必须根据您的环境更改 JAVA_HOME、注册中心和数据库相关配置。

    引用官方的说明

     本地dolphinscheduler_env.sh脚本配置项修改如下

    1. $ cd /opt/dolphinscheduler/apache-dolphinscheduler-3.0.0-bin/bin/env
    2. $ vi dolphinscheduler_env.sh

    export JAVA_HOME=${JAVA_HOME:-/usr/java/jdk1.8.0_341}

    # Database related configuration, set database type, username and password

    #export DATABASE=${DATABASE:-postgresql}

    #export SPRING_PROFILES_ACTIVE=${DATABASE}

    #export SPRING_DATASOURCE_URL="jdbc:postgresql://127.0.0.1:5432/dolphinscheduler"

    #export SPRING_DATASOURCE_USERNAME={user}

    #export SPRING_DATASOURCE_PASSWORD={password}

    export REGISTRY_ZOOKEEPER_CONNECT_STRING=${REGISTRY_ZOOKEEPER_CONNECT_STRING:-XXXXX:2181}

    export DATABASE=${DATABASE:-mysql}

    export SPRING_PROFILES_ACTIVE=${DATABASE}

    export SPRING_DATASOURCE_URL="jdbc:mysql://XXXXX:3306/XXXX?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true"

    export SPRING_DATASOURCE_USERNAME=dolphinscheduler

    export SPRING_DATASOURCE_PASSWORD=XXXXXXX

     配置项说明

    ①修改本地的JAVA_HOME地址

    ②REGISTRY_ZOOKEEPER_CONNECT_STRING,填写自己集群的zookeeper地址

    ③本人使用的是MySQL8,所以把有关postgresql部分注释

    ④Mysql配置项,需要修改SPRING_DATASOURCE_URL、SPRING_DATASOURCE_USERNAME、SPRING_DATASOURCE_PASSWORD

    其中原先的USERNAME={user}、PASSWORD={password}建议删掉{},即USERNAME=dolphinscheduler,PASSWORD=XXXXXXX

    此外,SPRING_DATASOURCE_URL,增加了allowPublicKeyRetrieval=true (以免出现Public Key Retrieval is not allowed报错)

    初始化DolphinScheduler数据库

    将mysql-connector的jar包(8.0.16)移动到 DolphinScheduler 的每个模块的 libs 目录下 其中包括 api-server/libs/ 和 alert-server/libs 和 master-server/libs 和 worker-server/libs 和 tools/libs

    【本人本地mysql-connector的jar包版本是8.0.30,可用】

    1. $cp /usr/share/java/mysql-connector-java.jar /opt/dolphinscheduler/apache-dolphinscheduler-3.0.0-bin/api-server/libs/
    2. $cp /usr/share/java/mysql-connector-java.jar /opt/dolphinscheduler/apache-dolphinscheduler-3.0.0-bin/alert-server/libs
    3. $cp /usr/share/java/mysql-connector-java.jar /opt/dolphinscheduler/apache-dolphinscheduler-3.0.0-bin/master-server/libs
    4. $cp /usr/share/java/mysql-connector-java.jar /opt/dolphinscheduler/apache-dolphinscheduler-3.0.0-bin/worker-server/libs
    5. $cp /usr/share/java/mysql-connector-java.jar /opt/dolphinscheduler/apache-dolphinscheduler-3.0.0-bin/tools/libs

     创建MySQL(mysql 8)的dolphinscheduler用户

    # mysql -uroot -p
    mysql> CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT

    用户名{user}和密码{password},本人指定的就是dolphinscheduler用户,用户密码自己定 

    1. mysql> CREATE USER 'dolphinscheduler'@'%' IDENTIFIED BY 'XXXX';
    2. mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphinscheduler'@'%';
    3. mysql> CREATE USER 'dolphinscheduler'@'localhost' IDENTIFIED BY 'XXXXXX';
    4. mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphinscheduler'@'localhost';

    通过快速的 Shell 脚本来初始化数据库

    1. $cd /opt/dolphinscheduler/apache-dolphinscheduler-3.0.0-bin/tools/bin
    2. $sh upgrade-schema.sh

    启动 DolphinScheduler

    1. $ cd /opt/dolphinscheduler/apache-dolphinscheduler-3.0.0-bin/bin/
    2. $ sh install.sh

    浏览器访问地址 http://test01:12345/dolphinscheduler/ui/login 即可登录系统UI。

    默认的用户名和密码是 admin/dolphinscheduler123 

  • 相关阅读:
    通过vNode实现给列表字段打标签
    Non-Rigid Point Set Registration Networks论文阅读笔记
    2023年中国乘用车金属冲压件产量、需求量及行业市场规模分析[图]
    WebRTC系列-网络之带宽估计和码率估计(2)接收端带宽估计
    三、W5100S/W5500+RP2040树莓派Pico<TCP Client数据回环测试>
    《深入理解Java虚拟机》读书笔记--第十三章 线程安全与锁优化
    第一章:概述
    DevOps系列文章之 Docker-compose
    海带软件分享——Office 2021全家桶安装教程(附报错解决方法)
    10道不得不会的 Java容器 面试题
  • 原文地址:https://blog.csdn.net/qq0719/article/details/126506093