dolphinscheduler2.0.5之开发环境搭建

背景说明:

近期由于工作需要上线离线调度,时间紧迫大概简单了解了下,再加上之前老东家也简单用过,感觉还行,由于生产环境客户要求服务器禁止免密,禁止sudo使用,根据我之前的了解,默认是使用sudo的且一键安装是需要免密的,由于之前在老东家是别人搞得,只是简单用了下,故这里做下简单探索

基础准备

jdk

我这里用得是1.8.0_311

开发工具

我用的是IntelliJ IDEA Community Edition 2021.3.2

maven

我这里用得是apache-maven-3.8.4

node

这个是用于启动前端的,版本是node-v12.9.1,这里特别说明下,之前用得是最新版本的18.X的,结果发现报莫名其妙的错误,由于不是搞嵌段的不太熟vue的错误,从网上看了下,改成12.X可以正常启动了

mysql 

用于存储dolphinscheduler元数据以及支持调度依赖等,我用的是8.x

zookeeper 

用于注册信息服务,我用的是3.4.14

搭建步骤

下载源码包:

官方下载地址:download

dolphinscheduler2.0.5之开发环境搭建_第1张图片

选择自己需要的版本即可

解压 

 我这里是在windows服务器安装的就直接解压的linux可以用过tar命令解压

源码编译

进入到DolphinScheduler的home目录下进行编译

命令编译

mvn -U install package -Prelease -Dmaven.test.skip=true

开发工具编译

直接导入代码后编译即可

修改部分信息

修改pom.xml

进入到dolphinscheduler目录,修改pom.xml,将 mysql-connector-java 依赖的test改为 compile,如下

           
                mysql
                mysql-connector-java
                ${mysql.connector.version}
                compile
            

修改数据库连接信息

修改 dolphinscheduler-dao/src/main/resources/application-mysql.yaml 文件中的数据库配置,修改效果如下

    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
    username: root
    password: root

以上四条信息是基本信息,其他配置可根据需求自行修改优化

为了方便控制台输出调试,可分别修改日志输出待控制台

修改日志输出

分别在日志级别配置加入

dolphinscheduler-server/src/main/resources/logback-worker.xml
dolphinscheduler-server/src/main/resources/logback-master.xml
dolphinscheduler-api/src/main/resources/logback-api.xml

这里以api为例效果如下

dolphinscheduler2.0.5之开发环境搭建_第2张图片

修改master,worker,api的启动参数

修改master启动参数

org.apache.dolphinscheduler.server.master.MasterServer中右击修改运行时配置添加添加VM参数:-Dlogging.config=classpath:logback-master.xml -Ddruid.mysql.usePingMethod=false -Dspring.profiles.active=mysql

修改worker启动参数

org.apache.dolphinscheduler.server.worker.WorkerServer中右击修改运行时配置添加添加VM参数:-Dlogging.config=classpath:logback-worker.xml -Ddruid.mysql.usePingMethod=false -Dspring.profiles.active=mysql

修改ApiApplicationServer启动参数

org.apache.dolphinscheduler.api.ApiApplicationServer中右击修改运行时配置添加添加VM参数:

 -Dlogging.config=classpath:logback-api.xml -Dspring.profiles.active=api,mysql

至此所有信息修改完成

初始化元数据到mysql

创建dolphinscheduler库和账号

CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE USER 'dolphinscheduler'@'%' IDENTIFIED BY 'dolphinscheduler';
GRANT ALL ON dolphinscheduler.* TO 'dolphinscheduler'@'%';

执行初始化sql

dolphinscheduler-dao\src\main\resources\sql\dolphinscheduler_mysql.sql(可通听过source命令直接导入qicheduler的main方法初始化,初始化完成后进入库中看下

启动zk

找到自己安装的zookeeper启动即可

启动master

进入org.apache.dolphinscheduler.server.master.MasterServer运行main方法即可启动

启动worker

进入org.apache.dolphinscheduler.server.worker.WorkerServer中执行main方法即可启动

启动api

进入org.apache.dolphinscheduler.api.ApiApplicationServer中执行main方法即可启动

访问api后台接口查看是否正常http://localhost:12345/dolphinscheduler/doc.html

前段ui启动

进入项目到dolphinscheduler-ui目录下,通过cmd执行 npm install 和npm run start前后端已成功运行起来,浏览器访问http://localhost:8888,并使用默认账户密码 admin/dolphinscheduler123 即可完成登录 

效果如下表

dolphinscheduler2.0.5之开发环境搭建_第3张图片

dolphinscheduler2.0.5之开发环境搭建_第4张图片 至此本地开发模式已经完成

关于前边说的非免密模式下也可以安装,只不过是需要手动安装每个组件然后启动(思路是根据一键安装的脚本走;

关于禁止使用sudo权限的问题,搭建完后执行调度脚本报错如下

通过观察发现默认是使用sudo的,如果服务器的执行用户没在sudoers中会直接推出的,任务也会失败,当时的思路是实在不行直接修改代码,后来仔细看了下文档,sudo是个开关,common.properties配置参数可以直接关闭的,所以还是需要认证看文档的    如下

dolphinscheduler2.0.5之开发环境搭建_第5张图片

你可能感兴趣的:(分布式调度,大数据)