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 二进制包

#mkdir -p /opt/dolphinscheduler

# tar zxvf /XXXX/apache-dolphinscheduler-3.0.0-bin.tar.gz -C /opt/dolphinscheduler/

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

#vi /etc/profile

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

export PATH=$JAVA_HOME/bin:$PATH
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 免密

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

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

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

配置机器SSH免密登陆

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

# su - dolphinscheduler
生成公钥和私钥:
$ ssh-keygen -t rsa
然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)

将dolphinscheduler用户/home/dolphinscheduler/.ssh目录下的公钥文件内容添加到authorized_keys文件中,并修改文件权限为600
$cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$chmod 600 ~/.ssh/authorized_keys
$ll ~/.ssh/authorized_keys

将公钥拷贝到要免密登录的目标机器上(三台机器)
$ssh-copy-id test01
$ssh-copy-id test02
$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脚本配置项修改如下

# su - dolphinscheduler
$ cd /opt/dolphinscheduler/apache-dolphinscheduler-3.0.0-bin/bin/env
$ 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脚本配置项修改如下

$ cd /opt/dolphinscheduler/apache-dolphinscheduler-3.0.0-bin/bin/env
$ 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,可用】

$cp /usr/share/java/mysql-connector-java.jar /opt/dolphinscheduler/apache-dolphinscheduler-3.0.0-bin/api-server/libs/
$cp /usr/share/java/mysql-connector-java.jar /opt/dolphinscheduler/apache-dolphinscheduler-3.0.0-bin/alert-server/libs
$cp /usr/share/java/mysql-connector-java.jar /opt/dolphinscheduler/apache-dolphinscheduler-3.0.0-bin/master-server/libs
$cp /usr/share/java/mysql-connector-java.jar /opt/dolphinscheduler/apache-dolphinscheduler-3.0.0-bin/worker-server/libs
$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用户,用户密码自己定 

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

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

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

启动 DolphinScheduler

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值