欢迎光临散文网 会员登陆 & 注册

DolphinScheduler海豚调度部署

2023-08-08 15:21 作者:进击的略略lin  | 我要投稿

DolphinScheduler以2.0.6版本为例。

参考文档:部署文档

部署规划

单机部署



伪集群部署




集群部署


安装JDK

下载JDK

JDK下载地址

如图:


选择如下版本下载:

jdk-8u361-linux-x64.tar.gz

将下载的JDK压缩包,上传至Linux的/root/tools目录。

解压

执行如下命令:

tar -zxvf /root/tools/jdk-8u361-linux-x64.tar.gz -C /root/jdk

将jdk解压到/root/jdk目录下。

配置

执行如下命令,打开配置文件

vi /etc/profile

文件末尾添加如下配置:

export JAVA_HOME=/root/jdk/jdk1.8.0_361

export PATH=$JAVA_HOME/bin:$PATH

执行如下命令,生效配置:

source /etc/profile

安装DolphinScheduler

下载

DolphinScheduler下载地址

如图,点击查看更多


选择对应版本,这里选择2.0.6,如图:


下载后,文件名如下:

apache-dolphinscheduler-2.0.6-bin.tar.gz

将下载的压缩包上传至Linux指定目录。

解压

执行如下命令,将压缩包解压到root目录下:

tar -zxvf /root/tools/apache-dolphinscheduler-2.0.6-bin.tar.gz -C /root

如图:


启动

进度apache-dolphinscheduler-2.0.6-bin目录下,启动DolphinScheduler:

cd apache-dolphinscheduler-2.0.6-bin

./bin/dolphinscheduler-daemon.sh start standalone-server

启动成功后,执行jps,可以看到StandaloneServer进程,如图:


登录

使用浏览器访问

http://192.168.189.111:12345/dolphinscheduler/ui

如果无法访问,可能是Linux防火墙未关闭,执行如下命令查看防火墙,并关闭:

systemctl status firewalld.service

systemctl stop firewalld.service

再次登录dolphinscheduler,如图:


默认登录用户名/密码:admin/dolphinscheduler123

停止

./bin/dolphinscheduler-daemon.sh stop standalone-server

伪集群部署(Pseudo-Cluster)

伪分布式部署 DolphinScheduler 需要除了需要安装JDK和DolphinScheduler,还需要安装如下外部软件:

  • 数据库:PostgreSQL (8.2.15+) 或者 MySQL (5.7+),两者任选其一即可,如 MySQL 则需要 JDBC Driver 8.0.16

  • 注册中心:ZooKeeper (3.4.6+),下载地址

  • 进程树分析

  • macOS安装pstree

  • Fedora/Red/Hat/CentOS/Ubuntu/Debian安装psmisc

切换到root

su -

安装JDK

同单机部署。

安装psmisc

执行如下命令,安装:

yum -y install psmisc

如图:


这里Linux已经安装过。

安装ZooKeeper

下载

我们选用zookeeper-3.4.6,下载地址ZooKeeper下载

如图:


选择对应版本:


下载后文件:zookeeper-3.4.6.tar.gz

解压

执行如下命令,将zookeeper解压到/root目录下:

tar -zxvf zookeeper-3.4.6.tar.gz -C /root/

如图:


配置

zoo_sample.cfg重命名伪zoo.cfg:

mv /root/zookeeper-3.4.6/conf/zoo_sample.cfg /root/zookeeper-3.4.6/conf/zoo.cfg

zoo.cfg配置文件中dataDir的值改为如下:

dataDir=./tmp/zookeeper

启动

执行如下命令,启动zookeeper(启动dolphinscheduler需要):

./bin/zkServer.sh start

查看启动状态:

./bin/zkServer.sh status

如图:


可以看到ZooKeeper启动模式为standalone。

关闭:

./bin/zkServer.sh stop


安装MySQL

mysql8.0.28版本

官网下载


上传解压

tar -xvf mysql-8.0.28-1.el7.x86_64.rpm-bundle.tar


查询有无mariadb(与mysql有冲突

rpm -qa|grep mariadb


强制卸载mariadb

rpm -e --nodeps mariadb-libs


这里需要依次安装依赖包(重点)

rpm -ivh mysql-community-common-8.0.28-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-plugins-8.0.28-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-8.0.28-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-8.0.28-1.el7.x86_64.rpm

rpm -ivh mysql-community-icu-data-files-8.0.28-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-8.0.28-1.el7.x86_64.rpm

初始化数据库

mysqld --initialize --console

设置权限

chown -R mysql:mysql /var/lib/mysql/

启动服务

systemctl start mysqld

查看临时密码

cat /var/log/mysqld.log|grep localhost


登录

mysql -uroot -p

输入上面的临时红色密码


改一个好一点记的密码

alter user 'root'@'localhost' identified by '123456';

退出查看一下

exit

登录

mysql -uroot -p


查看一下数据库

show databases;


这样就安装成功了

开启连接模式

进入到mysql数据库中:

use mysql;

select host from user where user='root';


我们执行update语句把权限进行修改

update user set host = '%' where user ='root';

 然后 刷新配置

flush privileges;


查看并关闭防火墙

systemctl status firewalld.service

systemctl stop firewalld.service

再重新用navicate 连接

安装DolphinScheduler

准备 DolphinScheduler 启动环境

以root用户登录,创建dolphinscheduler用户

# 创建用户需使用 root 登录


useradd dolphinscheduler# 添加密码


echo "dolphinscheduler" | 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-3.1.2-bin解压到/home/dolphinscheduler目录下


cd /home/dolphinscheduler/


tar zxvf apache-dolphinscheduler-3.1.2-bin.tar.gz


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


chown -R dolphinscheduler:dolphinscheduler apache-dolphinscheduler-3.1.2-bin


#查看一下权限

ll apache-dolphinscheduler-3.1.2-bin

如图:



注:解压的 DolphinScheduler包在/home/dolphinscheduler目录下。

切到这个用户下来cd apache-dolphinscheduler-3.1.2-bin

cd apache-dolphinscheduler-3.1.2-bin

切换到dolphinscheduler用户,然后再配置SSH免密登录:

su - dolphinscheduler

cd apache-dolphinscheduler-3.1.2-bin/


找一下mysql

find -name dolphinscheduler_mysql.sql

然后创建一个数据库dolphinscheduler 的UFT-8

导入dolphinscheduler_mysql.sql


修改 install_env.sh

vim bin/env/install_env.sh

地址路径:/home/dolphinscheduler/dolphinscheduler


#看下java在哪

echo $JAVA_HOME


vi ./bin/env/dolphinscheduler_env.sh

export DATABASE=${DATABASE:-mysql}

export SPRING_PROFILES_ACTIVE=${DATABASE}

export SPRING_DATASOURCE_URL="jdbc:mysql://ds1:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8"

export SPRING_DATASOURCE_USERNAME="root"

export SPRING_DATASOURCE_PASSWORD="123456"


下载mysql驱动包,下载地址

mysql驱动下载地址

如图:

下载后文件名:mysql-connector-java-8.0.28.jar

复制到

cp mysql-connector-java-8.0.28.jar  ./api-server/libs/

cp mysql-connector-java-8.0.28.jar ./alert-server/libs/

cp mysql-connector-java-8.0.28.jar ./master-server/libs/

cp mysql-connector-java-8.0.28.jar ./worker-server/libs/

配置机器SSH免密登陆

su dolphinscheduler


ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa


cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys


chmod 600 ~/.ssh/authorized_keys

如图:


配置完成后,可以执行如下命令验证:

ssh localhost

如图:


注意:

  • 因为任务执行服务是以 sudo -u {linux-user} 切换不同 linux 用户的方式来实现多租户运行作业,所以部署用户需要有 sudo 权限,而且是免密的。初学习者不理解的话,完全可以暂时忽略这一点

  • 如果发现 /etc/sudoers 文件中有 "Defaults requirett" 这行,也请注释掉

#改一下域名映射

vim /etc/hosts




一键部署启动

su dolphinscheduler


cd /home/dolphinscheduler/apache-dolphinscheduler-3.1.2-bin/

bash ./bin/install.sh


启动成功后,如图:

查看服务情况:


如果未启动成功:

cd /home/dolphinscheduler/pseudo-dolphinscheduler/logs

vi dolphinscheduler-master-server-docker-01.out

日志内容:

nohup: failed to run command ‘/root/jdk/jdk1.8.0_361/bin/java’: Permission denied

使用如下授权的方式,未解决

sudo chmod -R 755 /root/jdk/jdk1.8.0_361

sudo chown -R dolphinscheduler /root/jdk/jdk1.8.0_361

然后将jdk移到/usr/local目录即可。

mv /root/jdk /usr/local


启停服务

# 一键停止集群所有服务

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



登录 DolphinScheduler

192.168.174.130:12345/dolphinscheduler/ui





修改相关配置

完成了基础环境的准备后,在运行部署命令前,还需要根据环境修改配置文件。配置文件在路径在conf/config/install_config.conf下,一般部署只需要修改INSTALL MACHINE、DolphinScheduler ENV、Database、Registry Server部分即可完成部署,下面对必须修改参数进行说明

如图:

打开配置文件install_config.conf,修改配置为:

# ---------------------------------------------------------

# INSTALL MACHINE

# ---------------------------------------------------------

# 因为是在单节点上部署master、worker、API server,所以服务器的IP均为机器IP或者localhost

ips="192.168.189.111"

masters="192.168.189.111"

workers="192.168.189.111:default"

alertServer="192.168.189.111"

apiServers="192.168.189.111"

pythonGatewayServers="192.168.189.111"# DolphinScheduler安装路径,如果不存在会创建

installPath="/home/dolphinscheduler/pseudo-dolphinscheduler"# 部署用户,填写在 **配置用户免密及权限** 中创建的用户

deployUser="dolphinscheduler"# ---------------------------------------------------------

# DolphinScheduler ENV

# ---------------------------------------------------------

# JAVA_HOME 的路径,是在 **前置准备工作** 安装的JDK中 JAVA_HOME 所在的位置

javaHome="/root/jdk/jdk1.8.0_361"# ---------------------------------------------------------

# Database

# ---------------------------------------------------------

# 数据库的类型,用户名,密码,IP,端口,元数据库db。其中 DATABASE_TYPE 目前支持 mysql, postgresql, H2

# 请确保配置的值使用双引号引用,否则配置可能不生效

DATABASE_TYPE="mysql"

SPRING_DATASOURCE_URL="jdbc:mysql://192.168.189.1:3306/ds_201_doc?useUnicode=true&characterEncoding=UTF-8"

# 如果你不是以 dolphinscheduler/dolphinscheduler 作为用户名和密码的,需要进行修改

SPRING_DATASOURCE_USERNAME="admin"

SPRING_DATASOURCE_PASSWORD="admin"# ---------------------------------------------------------

# Registry Server

# ---------------------------------------------------------

# 注册中心地址,zookeeper服务的地址

registryServers="192.168.189.111:2181"

初始化数据库

下载mysql驱动包,下载地址

mysql驱动下载地址

如图:


下载后文件名:mysql-connector-j-8.0.31-1.el7.noarch.rpm

上传到Linux上,执行如下命令安装:

rpm -ivh mysql-connector-j-8.0.31-1.el7.noarch.rpm

生成的jar包路径如下:

/usr/share/java/mysql-connector-j.jar

将jar包拷贝到lib目录下:

mv /usr/share/java/mysql-connector-j.jar /root/apache-dolphinscheduler-2.0.6-bin/lib/

登录mysql,创建dolphinscheduler数据库,并授予权限:

CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'admin'@'%';

GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'admin'@'localhost';

flush privileges;

执行sql脚本:

sh script/create-dolphinscheduler.sh

如图:


成功后,如图:


启动 DolphinScheduler

切换到用户dolphinscheduler,如下:

su dolphinscheduler

如图:


sh install.sh

如图:


启动成功后,如图:


查看服务情况:


如果未启动成功:

cd /home/dolphinscheduler/pseudo-dolphinscheduler/logs

vi dolphinscheduler-master-server-docker-01.out

日志内容:

nohup: failed to run command ‘/root/jdk/jdk1.8.0_361/bin/java’: Permission denied

使用如下授权的方式,未解决

sudo chmod -R 755 /root/jdk/jdk1.8.0_361

sudo chown -R dolphinscheduler /root/jdk/jdk1.8.0_361

然后将jdk移到/usr/local目录即可。

mv /root/jdk /usr/local

登录 DolphinScheduler

同单机部署。

启停服务

# 一键停止集群所有服务

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

集群部署(Cluster)

待补充。

Measure

Measure


DolphinScheduler海豚调度部署的评论 (共 条)

分享到微博请遵守国家法律