全维度测试通过!DolphinScheduler 3.2.0 单节点部署与验证实录

摘要:Apache DolphinScheduler 单节点部署及测试报告
关键词:Apache DolphinScheduler、单节点部署、测试报告
(编者按:虽然本次测试显示 3.2.0 版本单节点部署在应用上完全可用,但社区仍推荐在生产场景中使用 3.1.9 版本,此版本更加稳定。)
整体说明
从部署环境的简介,到部署方案的介绍,以及实际的部署步骤,到解决具体的常见问题,最后给出简单的测试报告,结构如下图所示:

一、部署环境
Java 版本:1.8.0_181
操作系统:CentOS Linux release 7.6.1810
MySQL 库版本:5.7.22-22-log
MySQL 驱动程序版本:8.0.16
二、版本号
DolphinScheduler 版本:3.2.0
说明:该版本兼容更多国产数据库(如达梦),满足项目国产化需求
三、部署方案
使用场景:平台用于数据质量监控及告警发送,无高并发需求
部署方式:单机部署
数据存储:配置外部 MySQL 数据库进行持久化
四、部署步骤
4.1 上传部署包
4.2 创建外部数据库
创建外部数据库实例、账号,并对账号授权库的全部权限;
备注说明: 其中 user 和 passwd 为自己安装好的数据库的用户名和密码
4.3 修改元数据库配置
配置系统的元数据库,使用 MySQL 存储相关数据,以便持久化使用。需要修改以下配置
主程序运行的脚本程序,
存储位置 ../apache-dolphinscheduler-3.2.0-bin/bin/env/dolphinscheduler_env.sh
备注说明: 修改其中 ip 地址、端口、数据库用户名、密码
特别注意: ${DATABASE} 不需要修改
4.4 上传 MySQL 驱动程序
上传至以下目录:
4.5 初始化外部数据库
4.6 启停服务
启动单节点
查看节点状态
停止单节点
4.7 访问页面
访问地址:http://xxx.xx.xx.xxx:12345/dolphinscheduler默认账号密码:admin/dolphinscheduler123
五、常见问题及解决方式
5.1、时间不一致
现象: 创建任务后,页面上显示的时间与实际时间不一致。
解决方案: 登录之后右上角选择上海时区,不然任务创建时间、更新时间显示不正确。
5.2、异常终止
现象: 当 standalone-server 因异常(高负载、kill)等终止后,重新启动后,工作流实例中有大量任务处于“执行”状态,无法删除。
解决方案 1: 先下线工作流定义,然后重新启动 standalone-server 服务即可。原因为初次进程异常后,未来的调度计划已提交,导致重新启动 standalone-server 服务后,会追溯过去将来态的任务,当调度计划太多,就会整体僵死。以上为临时处理方式,并非彻底解决措施。
解决方案 2: 如果处理 1 依然不可解决,尝试清空 t_ds_task_instance(任务执行记录)、t_ds_process_instance(工作量执行记录)两张表数据,或者删除指定记录行。
5.3、大量日志
现象: dolphinscheduler 运行过程中会生成大量日志
解决方案: 使用 standalone-server 模式启动后,日志会记录在 standalone-server/logs 目录下,需要定期自动化删除,可写一些运维脚本删除。
5.4、数据源中心连接 Hive 失败
现象: 注册时 报错信息
原因分析: 是因为 dolphinscheduler 使用 hive jdbc 的版本和我们使用的 HDP 的 hive 版本不一致,
解决方案: 替换驱动程序到如下目录
把原有的 hive jdbc 备份
上传你的集群 Hive 对应的 JDBC 版本 Jar 包,到上面两个路径,对应的 Jar 包可以在 Hive 集群上搜索
5.5、SQL 脚本使用 Hive UDF
现象: 当使用 SQL 脚本模块 且 使用已经注册号的 Hive UDF, 报错信息
原因分析:
Hive 的 SQL 新建临时函数的语句 不支持 create or replace
因为 dolphinscheduler 版本遗留 BUG,没写对这个 SQL
解决方案: 修改源码中的语法,并替换对应 Jar 包
把原有的 hive jdbc 备份
上传 jdbc 包到上面两个路径
六、测试报告
6.1、 测试结论
当前发布版本为:3.2.0。
3.2.0 版本,完成功能、兼容、安全测试,测试通过,可发布上线。

6.2 兼容性要求及性能评估

6.3 性能指标及评估

6.4 安全指标及评估
6.4.1 测试指标


6.4.2 修复方法
禁用 Actuator
替换目标文件:apache-dolphinscheduler-3.2.0-bin/standalone-server/conf
禁用 swagger
增加配置文件:apache-dolphinscheduler-3.2.0-bin/standalone-server/conf
验证 Actuator 是否禁用,输入下面链接没有内容出来
http://${ip}:12345/dolphinscheduler/actuator/metrics
验证 swagger 是否禁用成功
http://${ip}:12345/dolphinscheduler/swagger-ui/index.html
6.4.3 测试结论
修复安全漏洞后,可以发布上线。
评论