一.为什么要搭建单机版
DolphinScheduler支持多种部署模式,包括单机模式(Standalone)、伪集群模式(Pseudo-Cluster)、集群模式(Cluster)等。
在其他模式下配置完成后启动会非常的吃内存,对电脑非常的不友好。而单机模式就不会有这种情况,在我的虚拟机里启动单机模式后大概也就占了1G左右的运存,非常适合我们学习使用。
但是在官方给的单机模式搭建并不详细,并且单机模式下所有的服务都集中在一个StandaloneServer进程中,内置的数据库是H2基于内存的,因此会导致当我们创建了一个项目后,如果关闭了服务再次启动后就会发现创建的项目消失了,无法进行持续化保存。
因此我们需要把H2更换成mysql进行存储,操作步骤如下。
二.如何解决不能持久化存储的问题?
将安装包放入虚拟机并解压。解压完成后
cd apache-dolphinscheduler-3.1.8-bin进入
并运行如下命令把mysql的驱动包复制进来
cp /opt/installs/hive/lib/mysql-connector-java-8.0.26.jar ./api-server/libs/
cp /opt/installs/hive/lib/mysql-connector-java-8.0.26.jar ./alert-server/libs/
cp /opt/installs/hive/lib/mysql-connector-java-8.0.26.jar ./master-server/libs/
cp /opt/installs/hive/lib/mysql-connector-java-8.0.26.jar ./worker-server/libs/
cp /opt/installs/hive/lib/mysql-connector-java-8.0.26.jar ./tools/libs/
cp /opt/installs/hive/lib/mysql-connector-java-8.0.26.jar ./standalone-server/libs/standalone-server/
到这其实官方文档指导的单机模式就已经配置好了可以使用了,这时可以去测试一下,先启动创建一个项目然后重启服务再次查看发现项目消失(不想看也不影响),命令如下。
因为是单机模式所以也不需要启动zookeeper服务。
# 启动 Standalone Server 服务
bash ./bin/dolphinscheduler-daemon.sh start standalone-server
# 停止 Standalone Server 服务
bash ./bin/dolphinscheduler-daemon.sh stop standalone-server
# 查看 Standalone Server 状态
bash ./bin/dolphinscheduler-daemon.sh status standalone-server
访问网址访问地址:http://bigdata01:12345/dolphinscheduler/ui
账号和密码: admin dolphinscheduler123
继续配置:
然后在mysql的可视化软件,比如我使用的是datagrip软件上执行如下命令。
要注意一点,运行是在虚拟机的mysql连接,而不是window电脑上的mysql!
CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
创建用户[非必须的]
假如你想创建,会遇到密码太简单的问题:
如果提示密码等级过低:
#mysql8
set global validate_password.policy=LOW;
set global validate_password.length=4;
set global validate_password.mixed_case_count=0;
set global validate_password.number_count=0;
set global validate_password.special_char_count=0;
创建新用户:
CREATE USER 'dolphinscheduler'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphinscheduler'@'%';
FLUSH PRIVILEGES;
执行完后可以看到数据库被创建了,但是里面还没有表因为我们没有进行初始化操作,下面将会进行操作。
在虚拟机再执行如下命令:
(执行前要先cd到软件的bin目录下!)
数据库密码等个人配置的信息要改成自己的。
比如全文的bigdata01都是我的虚拟机ip,需要改成自己虚拟机的ip信息。
export DATABASE=mysql
export SPRING_PROFILES_ACTIVE=dolphinscheduler
export SPRING_DATASOURCE_URL="jdbc:mysql://bigdata01:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true"
export SPRING_DATASOURCE_USERNAME=dolphinscheduler
export SPRING_DATASOURCE_PASSWORD=123456
然后在虚拟机进行输入下面命令来初始化数据库:
bash tools/bin/upgrade-schema.sh
这是成功的话就可以看到可视化软件对应的数据库里多了一堆表。
然后修改apache-dolphinscheduler-3.1.8-bin/standalone-server/conf下的application.yaml文件,
如下的配置在文件里有大概三处,只修改38行附近的那一出!并且格式要求十分严格注意不要多空格或少空格要与文件内格式对齐,正常的话粘贴如下进去就是正常格式。
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://bigdata01:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true
username: dolphinscheduler
password: 123456
到这里持久化保存完成了,
想尝试看效果的话命令如下:
# 启动 Standalone Server 服务
bash ./bin/dolphinscheduler-daemon.sh start standalone-server
# 停止 Standalone Server 服务
bash ./bin/dolphinscheduler-daemon.sh stop standalone-server
# 查看 Standalone Server 状态
bash ./bin/dolphinscheduler-daemon.sh status standalone-server
访问网址访问地址:http://bigdata01:12345/dolphinscheduler/ui
账号和密码: admin dolphinscheduler123
这时持久化完成但是上传文件会发现存储未启用,需要继续配置。
三.配置连接hdfs
修改standalone-server下的common.properties修改内容,
修改内容如下(第二条不用改)
resource.storage.type=HDFS
resource.storage.upload.base.path=/dolphinscheduler
resource.hdfs.fs.defaultFS=hdfs://bigdata01:9820
修改完成后在虚拟机执行hdfs dfs -chmod 777 /
cd ~再执行,在bin下执行报错
这时重启服务发现报错变成了未指定租户,说明配置成功了。在页面进行相关操作后即可使用。
至此单机模式以及持久化保存就彻底完成了。
四.配置脚本方便启动,以及基础操作
由于每次启动关闭都要去文件下非常的不方便因此设置脚本使其在任何位置都可以实现一个命令启动或者关闭,因此编写一个脚本如下:
自己写的脚本建议都放在一个目录下我的在/usr/home/bin下都是自己编写的脚本,方便管理
#!/bin/bash
cd /opt/modules/apache-dolphinscheduler-3.1.8-bin
# 假设status_output变量之前已经被正确设置,但在这个脚本中我们需要重新获取它
status_output=$(./bin/dolphinscheduler-daemon.sh status standalone-server 2>&1)
# 检查传递给脚本的第一个参数
case "$1" in
1)
# 如果参数是1,则执行启动逻辑
if ! echo "$status_output" | grep -q "standalone-server \[ RUNNING \]"; then
bash ./bin/dolphinscheduler-daemon.sh start standalone-server
sleep 5
./bin/dolphinscheduler-daemon.sh status standalone-server
fi
;;
0)
# 如果参数是0,则执行停止逻辑
if ! echo "$status_output" | grep -q "standalone-server \[ STOP \]"; then
bash ./bin/dolphinscheduler-daemon.sh stop standalone-server
sleep 5
./bin/dolphinscheduler-daemon.sh status standalone-server
fi
;;
*)
# 如果参数既不是1也不是0,则打印错误消息
echo "Usage: $0 [1|0]"
exit 1
;;
esac
jps-cluster.sh
echo "脚本执行结束"
注意脚本中的jps-cluster.sh也是我自己的脚本如果没有就换成jps或直接不要!
cd /opt/modules/apache-dolphinscheduler-3.1.8-bin cd后面路径换成自己的软件路径!
然后给脚本赋权限让它可以方便快捷的执行我的脚本叫mydolphin.sh 那就在虚拟机控制台执行权限赋予语句:
注意执行的时候要在放脚本的文件夹下。
chmod 777 mydolphin.sh
这样我们
mydolphin.sh 1就会启动脚本并打印jps(jps-cluster.sh)也是自己的脚本效果是打印所有虚拟机的jps,要是没有的话就改成jps。
mydolphin.sh 0就可以关闭脚本。
非常的便捷非常的舒适。
脚本说完了,说一下简单的操作
安全中心创建租户和用户,
在用户添加创建的租户并且可以添加项目:
更改时区和密码,
时区
密码
设置任务
执行任务
查看日志也就是任务结果
标签:bin,dolphinscheduler,单机版,standalone,DolphinScheduler,server,sh,mysql,搭建 From: https://blog.csdn.net/yyzzyyds/article/details/142052414