DolphinScheduler 3.2.2单节点伪集群部署
一、下载安装包
DolphinScheduler:
https://archive.apache.org/dist/dolphinscheduler/3.2.2/apache-dolphinscheduler-3.2.2-bin.tar.gz
MySQL:
https://dev.mysql.com/downloads/mysql/
驱动
https://cdn.mysql.com/archives/mysql-connector-java-8.0/mysql-connector-java-8.0.16.tar.gz
Zookeeper:
https://zookeeper.apache.org/releases.html
二、依赖准备
1、配置用户免密及权限
创建部署用户,并且一定要配置 sudo 免密。以创建 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
#将文件上传到/data目录
tar -zxvf apache-dolphinscheduler-3.2.2-bin.tar.gz -C /data
cd /data && mv dolphinscheduler dolphinscheduler_3.2.2
#将下载好的MySQL驱动复制到以下目录
/data/dolphinscheduler_3.2.2/api-server/libs/mysql-connector-java-8.0.16.jar
/data/dolphinscheduler_3.2.2/tools/libs/mysql-connector-java-8.0.16.jar
/data/dolphinscheduler_3.2.2/standalone-server/libs/standalone-server/mysql-connector-java-8.0.16.jar
/data/dolphinscheduler_3.2.2/worker-server/libs/mysql-connector-java-8.0.16.jar
/data/dolphinscheduler_3.2.2/alert-server/libs/mysql-connector-java-8.0.16.jar
/data/dolphinscheduler_3.2.2/master-server/libs/mysql-connector-java-8.0.16.jar
# 修改目录权限,使得部署用户对二进制包解压后的 apache-dolphinscheduler-*-bin 目录有操作权限
chown -R dolphinscheduler:dolphinscheduler apache-dolphinscheduler-*-bin
chmod -R 755 apache-dolphinscheduler-*-bin
2、配置机器 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
3、Zookeeper安装
3.1解压:
#将文件上传到/data目录
tar -zxvf apache-zookeeper-3.8.6-bin.tar.gz -C /data
cd /data && mv zookeeper/ zookeeper-3.6.6/
3.2、修改配置文件
mv /data/zookeeper-3.8.6/conf/zoo_sample.cfg /data/zookeeper-3.9.3/conf/zoo.cfg
# 将dataDir 中的值改成 dataDir=./tmp/zookeeper
vim /data/zookeeper-3.8.6/conf/zoo.cfg
3.3 启动
bash /data/zookeeper-3.8.6/bin/zkServer.sh start
三、配置修改
1、创建数据库与账号
mysql -uroot -p
mysql> CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
# 修改 {user} 和 {password} 为你希望的用户名和密码
mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'%' IDENTIFIED BY '{password}';
mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'localhost' IDENTIFIED BY '{password}';
mysql> flush privileges;
2、启动初始化脚本
bash /data/dolphinscheduler_3.2.2/tools/bin/upgrade-schema.sh
3、修改 dolphinscheduler_env.sh 文件
vim /data/dolphinscheduler_3.2.2/bin/env/dolphinscheduler_env.sh
#修改以下内容
export JAVA_HOME=${JAVA_HOME:-/usr/local/jdk1.8.0_271}
export DATABASE=mysql
export SPRING_PROFILES_ACTIVE=${DATABASE}
export SPRING_DATASOURCE_URL="jdbc:mysql://localhost:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&useSSL=false"
export SPRING_DATASOURCE_USERNAME="admin"
export SPRING_DATASOURCE_PASSWORD="password"
四、启动
# 一键停止集群所有服务
bash ./bin/stop-all.sh
# 一键开启集群所有服务
bash ./bin/start-all.sh
# 启停 Master
bash ./bin/dolphinscheduler-daemon.sh stop master-server
bash ./bin/dolphinscheduler-daemon.sh start master-server
# 启停 Worker
bash ./bin/dolphinscheduler-daemon.sh stop worker-server
bash ./bin/dolphinscheduler-daemon.sh start worker-server
# 启停 Api
bash ./bin/dolphinscheduler-daemon.sh stop api-server
bash ./bin/dolphinscheduler-daemon.sh start api-server
# 启停 Alert
bash ./bin/dolphinscheduler-daemon.sh stop alert-server
bash ./bin/dolphinscheduler-daemon.sh start alert-server
五、访问
# 默认的用户名和密码是 admin/dolphinscheduler123
http://localhost:12345/dolphinscheduler/ui
访问ui,报master节点 无法发现,节点注册失败,检查节点下的配置文件
application.yaml中server-load-protection 是否开启过载保护
路径:master-server/conf/application.yaml
master:
listen-port: 5678
# master prepare execute thread number to limit handle commands in parallel
pre-exec-threads: 10
# master execute thread number to limit process instances in parallel
# master commit task interval
task-commit-interval: 1s
state-wheel-interval: 5s
server-load-protection:
# 开启 Master 节点的过载保护(包含内存、CPU、磁盘等维度),若设为 false 则全部过载保护失效。
enabled: false
浙公网安备 33010602011771号