首页 > 其他分享 >DolphinScheduler3.0部署手册

DolphinScheduler3.0部署手册

时间:2022-10-28 10:48:47浏览次数:70  
标签:bin 部署 data dolphinscheduler 手册 mysql DolphinScheduler3.0 root localhost

1 前言

1.1 参考资料

DolphinScheduler官网:https://dolphinscheduler.apache.org/zh-cn/index.html

1.2架构说明

本手册目的是在一台服务器上部署伪集群,系统配置如下:

系统 CPU 内存 硬盘
CentOS7.9 8 16G 300G

1.3 软件准备

注意: DolphinScheduler 本身不依赖 Hadoop、Hive、Spark,但如果你运行的任务需要依赖他们,就需要有对应的环境支持,否则在配置中可以注释掉,软件清单及下载方式如下:

JDK:1.8 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html

MySQL:8 下载地址:https://dev.mysql.com/downloads/mysql/

Zookeeper:3.7 下载地址:https://zookeeper.apache.org/releases.html#download

DolphinScheduler:3.0 下载地址:https://dolphinscheduler.apache.org/zh-cn/download/download.html

由于MySQL数据源的JDBC驱动和Apache LICENSE V2不兼容,需要提前下载mysql-connector-java-8.0.16.jar驱动,下载地址:

https://repo1.maven.org/maven2/mysql/mysql-connector-java/

1.4 软件部署顺序

JDK--》MySQL--》Zookeeper--》DolphinScheduler

2 JDK部署

[root@localhost data]# tar -zxvf jdk-8u341-linux-x64.tar.gz -C /usr/local/
[root@localhost data]# vim /etc/profile
#jdk
export JAVA_HOME=/usr/local/jdk1.8.0_341/
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH

添加后保存退出
[root@localhost data]# source /etc/profile

3 数据库安装

3.1删除系统自带的数据库

(没有就不用管)

[root@localhost data]# rpm -qa | grep mariadb
mariadb-libs-5.5.68-1.el7.x86_64
[root@localhost data]# yum remove mariadb-libs-5.5.68-1.el7.x86_64 -y

3.2安装MySQL

[root@localhost data]# tar -xvf mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz
[root@localhost data]# mv mysql-8.0.30-linux-glibc2.12-x86_64 /usr/local/mysql
[root@localhost data]# groupadd mysql
[root@localhost data]# useradd -r -g mysql -s /sbin/nologin mysql
[root@localhost data]# mkdir /data/mysql -p
[root@localhost data]# mkdir /usr/local/mysql/etc -p
[root@localhost data]# mkdir /var/run/mysql/
[root@localhost data]# chown -R mysql:mysql /usr/local/mysql/
[root@localhost data]# chown -R mysql:mysql /data/mysql
[root@localhost data]# chown -R mysql:mysql /var/run/mysql/

3.3编辑配置

[root@localhost data]# vim /usr/local/mysql/etc/my.cnf
[client]
port=3306
socket=/var/run/mysql/mysql.sock

[mysqld]
user=mysql
port=3306
bind-address=0.0.0.0
datadir=/data/mysql
basedir=/usr/local/mysql
socket=/var/run/mysql/mysql.sock
pid-file=/var/run/mysql/mysql.pid

default-storage-engine=INNODB
character_set_server=utf8mb4
lower_case_table_names=1
table_open_cache=128
max_connections=1200
max_connect_errors=1000
innodb_file_per_table=1
innodb_buffer_pool_size=1G
max_allowed_packet=64M
transaction_isolation=READ-COMMITTED
innodb_flush_method=O_DIRECT
innodb_lock_wait_timeout=1800
innodb_flush_log_at_trx_commit=0
sync_binlog=0
symbolic-links=0
explicit_defaults_for_timestamp=true

server-id=1
log-error=/data/mysql/mysql.err
log-bin=mysql-bin
expire_logs_days = 7
binlog_format=mixed
slow_query_log=1
long_query_time=10
slow_query_log_file=/data/mysql/mysql-slow.log

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

skip-name-resolve

[mysql]
default-character-set=utf8mb4

[mysql.server]
default-character-set=utf8mb4

3.4初始化数据

[root@localhost data]# cd /usr/local/mysql/bin
[root@localhost bin]# ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql --lower-case-table-names=1
[root@localhost bin]# tailf /data/mysql/mysql.err
[root@localhost bin]# cp /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysqld
[root@localhost bin]# /etc/init.d/mysqld start
[root@localhost bin]# vim /etc/profile
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin
[root@localhost bin]# source /etc/profile

3.5登录MySQL修改权限

[root@localhost bin]# mysql -uroot -p
mysql> alter user 'root'@'localhost' identified by 'Mypasswd123!';
mysql> use mysql;
mysql> create user 'root'@'%' identified by 'Mypasswd123!';
mysql> grant all privileges on *.* to 'root'@'%' with grant option;
mysql> select host, user, authentication_string, plugin from user;

4 Zookeeper安装

4.1安装

[root@localhost ~]# cd /data/
[root@localhost data]# tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz
[root@localhost data]# mv apache-zookeeper-3.7.1-bin zookeeper

4.2修改配置

[root@localhost data]# cd zookeeper/conf/
[root@localhost conf]# cp -a zoo_sample.cfg zoo.cfg
并将 conf/zoo.cfg 中 dataDir 中的值改成 dataDir=./tmp/zookeeper,不然启动会报错

4.3启动

[root@localhost conf]# cd ..
[root@localhost zookeeper]# ./bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /data/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@localhost zookeeper]# netstat -nplt|grep 2181
tcp6    0    0 :::2181         :::*           LISTEN    2736/java

5 DolphinScheduler安装

5.1 准备启动环境

解压二进制包

[root@localhost zookeeper]# cd /data/
[root@localhost data]# tar -zxvf apache-dolphinscheduler-3.0.0-bin.tar.gz

创建用户

[root@localhost data]# useradd dolphinscheduler

添加密码

[root@localhost data]# echo "DolphinScheduler@2022" | passwd --stdin dolphinscheduler
更改用户 dolphinscheduler 的密码 。
passwd:所有的身份验证令牌已经成功更新。

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

[root@localhost data]# chown -R dolphinscheduler:dolphinscheduler apache-dolphinscheduler-3.0.0-bin

配置 sudo 免密(因为任务执行服务是以 sudo -u {linux-user} 切换不同 linux 用户的方式来实现多租户运行作业,所以部署用户需要有 sudo 权限,而且是免密的)

[root@localhost data]# sed -i '$adolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL' /etc/sudoers
[root@localhost data]# sed -i 's/Defaults   requirett/#Defaults   requirett/g' /etc/sudoers

5.2 配置机器SSH免密登陆

[root@localhost data]# su dolphinscheduler
[dolphinscheduler@localhost data]$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
[dolphinscheduler@localhost data]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
[dolphinscheduler@localhost data]$ chmod 600 ~/.ssh/authorized_keys
[dolphinscheduler@localhost data]$ ssh dolphinscheduler@localhost
The authenticity of host 'localhost (::1)' can't be established.
ECDSA key fingerprint is SHA256:vl+WY6uESNw7u0uhjurbKEtePiKOIEAvfS66t1WHamo.
ECDSA key fingerprint is MD5:89:96:ed:68:86:0d:a6:cb:8c:28:0a:e5:5e:44:ae:17.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
Last login: Tue Oct 11 10:57:07 2022

[dolphinscheduler@localhost ~]$ exit
登出
Connection to localhost closed.
[dolphinscheduler@localhost data]$ exit
exit
[root@localhost data]# 

5.3 修改相关配置

完成基础环境的准备后,需要根据你的机器环境修改配置文件。配置文件可以在目录 bin/env 中找到,他们分别是install_env.sh 和 dolphinscheduler_env.sh。

配置install_env.sh

[root@localhost data]# cd /data/apache-dolphinscheduler-3.0.0-bin/
[root@localhost apache-dolphinscheduler-3.0.0-bin]# vim bin/env/install_env.sh
#sshPort请按照实际端口填写
ips="localhost"
sshPort="22"
masters="localhost"
workers="localhost:default"
alertServer="localhost"
apiServers="localhost"

# DolphinScheduler installation path, it will auto-create if not exists
installPath=~/dolphinscheduler

# Deploy user, use the user you create in section **Configure machine SSH password-free login**
deployUser="dolphinscheduler"

zkRoot=${zkRoot:-"/dolphinscheduler"}

配置dolphinscheduler_env.sh

[root@localhost apache-dolphinscheduler-3.0.0-bin]# vim bin/env/dolphinscheduler_env.sh
# JAVA_HOME, will use it to start DolphinScheduler server
export JAVA_HOME="/usr/local/jdk1.8.0_341"

# Database related configuration, set database type, username and password
export DATABASE="mysql"
export SPRING_PROFILES_ACTIVE=${DATABASE}
export SPRING_DATASOURCE_URL="jdbc:mysql://127.0.0.1:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true"
export SPRING_DATASOURCE_USERNAME=dolphinscheduler
export SPRING_DATASOURCE_PASSWORD=DolphinScheduler@2022

# DolphinScheduler server related configuration
export SPRING_CACHE_TYPE="none"
export SPRING_JACKSON_TIME_ZONE="Asia/Shanghai"
export MASTER_FETCH_COMMAND_NUM="10"

# Registry center configuration, determines the type and link of the registry center
export REGISTRY_TYPE="zookeeper"
export REGISTRY_ZOOKEEPER_CONNECT_STRING="localhost:2181"

5.4 添加MySQL驱动

mysql-connector-java驱动移动到DolphinScheduler的每个模块的 libs 目录下,并将权限改成dolphinscheduler 用户的,不然无效。其中包括:

api-server/libs
alert-server/libs
master-server/libs
worker-server/libs
tools/libs

6 系统初始化

6.1 数据库初始化

登录MySQL添加dolphinscheduler用户并赋权

mysql> CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
Query OK, 1 row affected, 2 warnings (0.02 sec)

mysql> CREATE USER 'dolphinscheduler'@'%' IDENTIFIED BY 'DolphinScheduler@2022';
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphinscheduler'@'%';
Query OK, 0 rows affected (0.00 sec)

mysql> CREATE USER 'dolphinscheduler'@'localhost' IDENTIFIED BY 'DolphinScheduler@2022';
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphinscheduler'@'localhost';
Query OK, 0 rows affected, 1 warning (0.01 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> exit

初始化数据库(可切换到dolphinscheduler用户操作)

[root@localhost apache-dolphinscheduler-3.0.0-bin]# bash tools/bin/upgrade-schema.sh

6.2 系统部署启动

(可跳过)可以先启动单机模式测试配置文件的可用性

启动单机模式
[root@localhost apache-dolphinscheduler-3.0.0-bin]# bash ./bin/dolphinscheduler-daemon.sh start standalone-server
关闭
[root@localhost apache-dolphinscheduler-3.0.0-bin]# bash ./bin/dolphinscheduler-daemon.sh stop standalone-server

切换到dolphinscheduler用户进行部署

[root@localhost apache-dolphinscheduler-3.0.0-bin]# su dolphinscheduler

一键部署(安装后会出现未启动情况,启动一下就好)
[dolphinscheduler@localhost apache-dolphinscheduler-3.0.0-bin]$ bash ./bin/install.sh

切换到家目录(工作目录进行操作比较好,前面的是安装目录)
[root@localhost apache-dolphinscheduler-3.0.0-bin]# cd /home/dolphinscheduler/dolphinscheduler/

启停动Master/Worker/Api/Alert

bash ./bin/dolphinscheduler-daemon.sh start master-server
bash ./bin/dolphinscheduler-daemon.sh start worker-server
bash ./bin/dolphinscheduler-daemon.sh start api-server
bash ./bin/dolphinscheduler-daemon.sh start alert-server

停止 Master/Worker/Api/Alert

bash ./bin/dolphinscheduler-daemon.sh stop master-server
bash ./bin/dolphinscheduler-daemon.sh stop worker-server
bash ./bin/dolphinscheduler-daemon.sh stop api-server
bash ./bin/dolphinscheduler-daemon.sh stop alert-server

服务启动后分别进行健康检查

[dolphinscheduler@localhost dolphinscheduler]$ curl --request GET 'http://localhost:12345/dolphinscheduler/actuator/health'
{"status":"UP","components":{"db":{"status":"UP","details":{"database":"MySQL","validationQuery":"select 1","result":1}}}}

[dolphinscheduler@localhost dolphinscheduler]$ curl --request GET 'http://localhost:5679/actuator/health'
{"status":"UP","components":{"db":{"status":"UP","details":{"database":"MySQL","validationQuery":"select 1","result":1}}}}

[dolphinscheduler@localhost dolphinscheduler]$ curl --request GET 'http://localhost:1235/actuator/health'
{"status":"UP","components":{"db":{"status":"UP","details":{"database":"MySQL","validationQuery":"select 1","result":1}}}}

[dolphinscheduler@localhost dolphinscheduler]$ curl --request GET 'http://localhost:50053/actuator/health'
{"status":"UP","components":{"db":{"status":"UP","details":{"database":"MySQL","validationQuery":"select 1","result":1}}}}

浏览器访问地址 http://localhost:12345/dolphinscheduler/ui 即可登录系统UI。默认的用户名和密码是 admin/dolphinscheduler123

7 问题处理

7.1 数据库公钥问题

报错:
Public Key Retrieval is not allowed

方案:
添加allowPublicKeyRetrieval=true
export SPRING_DATASOURCE_URL="jdbc:mysql://localhost:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true"

7.2 未找到表

Install时报错
Caused by: java.sql.SQLSyntaxErrorException: Table 'dolphinscheduler.t_ds_plugin_define' doesn't exist

原因:
没有初始化数据库

方案:
[root@localhost apache-dolphinscheduler-3.0.0-bin]# bash tools/bin/upgrade-schema.sh

7.3 任务出现权限问题

报错:
任务调度是出现权限问题,无法进行操作

方案:
任务需要时用可以su的用户作为租户,最好是使用安装的dolphinscheduler租户。

7.4 驱动问题

报错:
Cannot load driver class: com.mysql.cj.jdbc.Driver

原因:
未识别mysql驱动

方案:
添加mysql驱动

标签:bin,部署,data,dolphinscheduler,手册,mysql,DolphinScheduler3.0,root,localhost
From: https://www.cnblogs.com/wangyuanguang/p/16834992.html

相关文章

  • Vue项目部署到IIS后,刷新报错404
    这里需要用到URL重写工具--URLRewrite(默认没有,需要自己下载安装)如果IIS上默认有安装Web平台安装程序,我们可以使用平台自动安装URLRewrite重写工具,打开IIS在管理器......
  • 一键部署zabbix脚本
    #!/bin/bashZABBIX_VER=5.0URL="https://mirror.tuna.tsinghua.edu.cn/zabbix"FONT=msyhbd.ttcMYSQL_HOST=localhost#MYSQL_HOST=10.0.0.100MYSQL_ZABBIX_USER="zabbix@loca......
  • 一键部署keepalived脚本
    #!/bin/bashKEEPALIVED_VERSION=2.2.7#KEEPALIVED_VERSION=2.2.2#KEEPALIVED_VERSION=2.0.20KEEPALIVED_FILE=keepalived-${KEEPALIVED_VERSION}.tar.gzKEEPALIVED_INSTALL_......
  • 袋鼠云平台代码规范化编译部署的提效性改进实践
    一、前言作为全链路数字化技术与服务提供商,袋鼠云提供了从数据湖、大数据基础平台、离线开发、实时开发、数据服务、数据治理、指标管理、客户数据洞察、数据孪生可视化等......
  • AidLux—极简的开发和部署体验
    1.AidLux介绍官网:https://aidlux.com/AidLux是基于ARM架构的跨生态(Android/鸿蒙+Linux)一站式AIoT应用快速开发和部署平台APP通过共享Linux内核实现Android和Linux......
  • 在 Kubernetes 集群中部署现代应用的通用模式
    在Kubernetes集群中部署现代应用的通用模式摘要我们正在经历现代应用交付领域的第二次浪潮,而Kubernetes和容器化则是这次浪潮的主要推动力量。随着第二次浪潮的推进,......
  • EasyDSS如何在不关闭防护墙的情况下平稳部署?具体操作步骤是什么?
    EasyDSS视频直播点播平台提供了视频转码、点播、直播、推拉流、录像、回放等功能,可应用在AR、VR、无人机推流、虚拟直播、教育培训、远程会议等多样化的场景中。通常我们在......
  • 网狐荣耀6801系统模块的编译与部署
     代码已提交:https://pan.baidu.com/s/1kKR-vieIzkagcjmYcG75KQ提取码:4dxt 1、PC端开发配置:配置系统模块,全局定义的platform.h,找到地址相关的,网址改为http://www.x......
  • Fiddler使用手册之SSL证书的问题
    首先下载Fiddler,官网5.0版本是免费的。安装设置Tools--options --HTTPS --Connections按下图设置勾选,确保一致。点击确定后。关闭重新打开软件。这时候就已经开......
  • Jumpserver2.23部署手册
    1、配置系统:Centos7.9*2配置:2CUP*4G192.168.100.102:数据库几redis服务器192.168.100.103:jumpserver服务器2、要求需要连接互联网使用root用户执行官网地址:http......