0 背景
本文基于Ambari集群搭建最新版本的Apache DolphinScheduler-3.1.3版本,后续会尝试整合到Ambari中。
1 安装准备
安装Apache DolphinScheduler需要在环境中安装如下依赖
JDK8
下载JDK (1.8+),安装并配置 JAVA_HOME 环境变量,并将其下的 bin 目录追加到 PATH 环境变量中
数据库:PostgreSQL (8.2.15+) 或者 MySQL (5.7+),两者任选其一即可,如 MySQL 则需要 JDBC Driver 8.0.16
注册中心:ZooKeeper (3.4.6+)
2 安装集群
2.1 配置Apache DolphinScheduler用户
新建Apache DolphinScheduler用户,并且一定要配置 sudo 免密.
配置免密
集群之间完成免密
2.2 配置mysql
DolphinScheduler 元数据存储在关系型数据库中,故需创建相应的数据库和用户。注:这里根据Mysql安装版本的不同选择不同的执行方式。
mysql5.6/5.7
mysql8:
创建数据库并指定编码格式
开启权限
执行过程中可能出现如下报错:
ERROR 1819 (HY000): Your password does not satisfy the current policy requiremen
执行如下命令查看mysql密码要求规则
修改校验登记为LOW,重新设置即可
2.3 启动zk
2.4 修改ds配置文件
2.4.1 mysql的JDBC驱动放入ds的lib目录下
包括 api-server/libs 和 alert-server/libs 和 master-server/libs 和 worker-server/libs
2.4. 2 修改bin/env目录下的install_env.sh配置文件
我们仅需修改INSTALL MACHINE,DolphinScheduler ENV、Database、Registry Server
2.4.3 修改dolphinscheduler_env.sh 文件
bin/env/dolphinscheduler_env.sh 中配置JAVA_HOME、数据库、注册中心等相关配置
2.5 初始化数据库
2.6 启动DS
报错如下查看具体生成日志发现如下报错:
这里最新版本的ds与zk版本不兼容,最新版本的ds需要最新版本的zk,即3.8版本,当前环境安装的是3.4.6。通过查看ds依赖的zk的jarb包也能验证这一点
解决思路:下载3.8版本的zk并安装
下载地址:
https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.8.0/apache-zookeeper-3.8.0-bin.tar.gz
安装方法可以看这篇文章《zookeeper快速入门》[1]
安装完成并启动zk,然后再重新启动ds成功。
访问master节点url连接:
默认账户密码:admin/dolphinscheduler123
3 [附加]DS源码修改与打包
当前DS-3.1.3版本数据源还不支持trino,可以修改源码,增加对trino数据源的支持,修改完成后使用如下命令重新编译并完成打包。
这里的-DskipTests=true指跳过测试,如果不加该参数,整个耗时会特别长。编译完成后可看到如下成功页面。
然后进入你的maven仓库即可发现已经打包的ds-3.1.3安装包
参考资料
参与 DolphinScheduler 社区有非常多的参与贡献的方式,包括:
贡献第一个PR(文档、代码) 我们也希望是简单的,第一个PR用于熟悉提交的流程和社区协作以及感受社区的友好度。
社区汇总了以下适合新手的问题列表:https://github.com/apache/dolphinscheduler/issues/5689
非新手问题列表:https://github.com/apache/dolphinscheduler/issues?q=is%3Aopen+is%3Aissue+label%3A%22volunteer+wanted%22
如何参与贡献链接:https://dolphinscheduler.apache.org/zh-cn/community/development/contribute.html
来吧,DolphinScheduler开源社区需要您的参与,为中国开源崛起添砖加瓦吧,哪怕只是小小的一块瓦,汇聚起来的力量也是巨大的。
参与开源可以近距离与各路高手切磋,迅速提升自己的技能,如果您想参与贡献,我们有个贡献者种子孵化群,可以添加社区小助手微信(Leonard-ds) ,手把手教会您( 贡献者不分水平高低,有问必答,关键是有一颗愿意贡献的心 )。
添加社区小助手微信(Leonard-ds,好友申请注明“入交流群+姓名+公司+职位信息“,群里是实名制,仅用于验证身份)
添加小助手微信时请说明想参与贡献。
来吧,开源社区非常期待您的参与。
领取专属 10元无门槛券
私享最新 技术干货