DolphinScheduler海豚调度部署

DolphinScheduler以2.0.6版本为例。

参考文档:部署文档

部署规划

单机部署

主机IP

主机名

部署服务

192.168.189.111

docker-01

JDK、DolphinScheduler

伪集群部署

主机IP

主机名

部署服务

192.168.189.111

docker-01

JDK、DolphinScheduler、ZooKeeper、psmisc

192.168.189.1

MySQL(用户名/密码:admin/admin)

集群部署

主机IP

主机名

部署服务

192.168.189.111

docker-01

JDK、DolphinScheduler、MySQL、ZooKeeper、psmisc

192.168.189.112

192.168.189.113

单机部署(Standalone

安装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

  • 进程树分析

  • macOS安装pstree

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

安装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。

安装MySQL

略。

安装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-2.0.6-bin解压到/home/dolphinscheduler目录下
# 修改目录权限,使得部署用户对二进制包解压后的 apache-dolphinscheduler-*-bin 目录有操作权限
chown -R dolphinscheduler:dolphinscheduler /home/dolphinscheduler/apache-dolphinscheduler-2.0.6-bin

如图:

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

配置机器SSH免密登陆

切换到dolphinscheduler用户,然后再配置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" 这行,也请注释掉

修改相关配置

完成了基础环境的准备后,在运行部署命令前,还需要根据环境修改配置文件。配置文件在路径在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)

待补充。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

leboop-L

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值