目录

1.基础环境说明

2.Windows本地开发环境配置

2.1dolphinscheduler git下载地址

2.2zookeeper下载与部署

2.3创建MySql数据库 

2.4配置后端开发环境

2.5前端环境配置 

3.问题处理


1.基础环境说明

(1)Windows 10

(2)JDK 1.8.0_131

(3)Python 3.7.4

(4)MySQL 8.0.15

2.Windows本地开发环境配置

2.1dolphinscheduler git下载地址

https://gitee.com/dolphinscheduler/DolphinScheduler.git

2.2zookeeper下载与部署

1.下载地址(百度网盘):

https://pan.baidu.com/s/1NlLGnGU_aYNM3w5YPXuKFA

提取码:atot

2.下载zookeeper-3.4.5.rar文件后,解压到本地路径

3.编辑conf路径下的zoo.cfg #编辑dataDir信息为本地路径

dataDir=E:\\zookeeper_data

4.启动zookeeper服务

进入bin,选中zkServer.cmd,右击以管理员身份,启动zookeeper

2.3创建MySql数据库 

CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE USER 'dscheduler'@'%' IDENTIFIED BY 'dscheduler';
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dscheduler'@'%' WITH GRANT OPTION;
flush privileges;

在建好的数据库里,执行以下sql初始化脚本文件

dolphinscheduler外接hadoop dolphinscheduler windows_zookeeper

  

2.4配置后端开发环境

在pom文件里面,找到modules,将dolphinscheduler-ui注释掉

dolphinscheduler外接hadoop dolphinscheduler windows_环境配置_02

Note:
如果想使用CDH版本大数据组件,需要在pom文件中加入repositories,并且需要修改hive和hadoop的版本

<repositories>
    <repository>
        <id>cloudera</id>
        <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
    </repository>
</repositories>

dolphinscheduler外接hadoop dolphinscheduler windows_zookeeper_03

 执行mvn编译命令

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

去除pom文件中mysql的scope

dolphinscheduler外接hadoop dolphinscheduler windows_spring_04

在dolphinscheduler-api module中的ApiApplicationServer中加入

@PropertySource(ignoreResourceNotFound = false, value = "classpath:application-api.properties")

 

dolphinscheduler外接hadoop dolphinscheduler windows_环境配置_05

 在dolphinscheduler-dao module中的Dao里面修改datasource.properties配置,根据具体数据库修改,pg或者mysql

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

dolphinscheduler外接hadoop dolphinscheduler windows_zookeeper_06

 在dolphinscheduler-server module 中的service层修改zk地址,如果为本地zk,默认不需要修改

dolphinscheduler外接hadoop dolphinscheduler windows_spring_07

  在dolphinscheduler-server module 中的service层,修改MasterServer代码

@PropertySource(ignoreResourceNotFound = false, value = "classpath:master.properties")

dolphinscheduler外接hadoop dolphinscheduler windows_大数据_08

 在dolphinscheduler-server module 中的server层,修改master.properties

dolphinscheduler外接hadoop dolphinscheduler windows_spring_09

 在dolphinscheduler-server module 中server层,修改WorkerServer

@PropertySource(ignoreResourceNotFound = false, value = "classpath:worker.properties")

dolphinscheduler外接hadoop dolphinscheduler windows_环境配置_10

 在dolphinscheduler-server module 中server层,修改worker.properties

dolphinscheduler外接hadoop dolphinscheduler windows_大数据_11

在WorkerServer的run configuration中设置如下: 

-Dspring.profiles.active=worker -Dlogging.config="dolphinscheduler-server/src/main/resources/logback-worker.xml"

dolphinscheduler外接hadoop dolphinscheduler windows_spring_12

 分别启动API、Master、Worker

dolphinscheduler外接hadoop dolphinscheduler windows_大数据_13

2.5前端环境配置 

点击idea下的terminal按钮,执行以下命令:

cd dolphinscheduler-ui
npm install

在dolphinscheduler-ui module的ui层,选中.env文件,修改前端API Server地址及端口信息

dolphinscheduler外接hadoop dolphinscheduler windows_环境配置_14

 启动前端

npm run start

打开浏览器,访问:localhost:8888

dolphinscheduler外接hadoop dolphinscheduler windows_spring_15

 

dolphinscheduler外接hadoop dolphinscheduler windows_spring_16

 默认账号密码

admin
dolphinscheduler123

3.问题处理

错误一:plugin dir not exists ! lib\plugin\registry
插件目录不存在,这货不会自己创建的。
相对路径:就在工程根目录创建这个目录。
绝对路径:就随便在哪儿搞个目录就行,registry.properties中配置好path就行。

错误二:No service providers the plugin Service org.apache.dolphinscheduler.spi.DolphinSchedulerPlugin
说的就是上面创建的那个插件目录里面没东西,找不到这个接口的实现,但是registry.properties中又配置了zookeeper这个插件是要加载的,矛盾。
我尝试不去加载zookeeper,结果不行。
于是,在工程中,找到了org.apache.dolphinscheduler.spi.DolphinSchedulerPlugin的zookeeper实现类,就是dolphinscheduler-registry-plugin模块下的dolphinscheduler-registry-plugin,给它打个包。
把target下的那个zip包拷贝到插件目录里面,解压,文件夹重命名为zookeeper。

错误三:zookeeper connect timeout
读了下源码,找到一个配置项:block.until.connected.wait,默认为600。改成6000。
配置写到registry.properties中,像这样

registry.plugin.dir=lib/plugin/registry
registry.plugin.name=zookeeper
registry.servers=127.0.0.1:2181
registry.block.until.connected.wait=6000

终于把master启起来了。

错误四:Task Plugin Not Found,Please Check Config File
跟上面的插件类似,在工程中,dolphinscheduler-task-plugin,把里面除了dolphinscheduler-task-api之外的模块都package一下,按同样的方式,把文件夹放到lib/plugin/task下面。