目录
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初始化脚本文件
2.4配置后端开发环境
在pom文件里面,找到modules,将dolphinscheduler-ui注释掉
Note:
如果想使用CDH版本大数据组件,需要在pom文件中加入repositories,并且需要修改hive和hadoop的版本
<repositories>
<repository>
<id>cloudera</id>
<url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
</repository>
</repositories>
执行mvn编译命令
mvn -U clean package -Prelease -Dmaven.test.skip=true
去除pom文件中mysql的scope
在dolphinscheduler-api module中的ApiApplicationServer中加入
@PropertySource(ignoreResourceNotFound = false, value = "classpath:application-api.properties")
在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-server module 中的service层修改zk地址,如果为本地zk,默认不需要修改
在dolphinscheduler-server module 中的service层,修改MasterServer代码
@PropertySource(ignoreResourceNotFound = false, value = "classpath:master.properties")
在dolphinscheduler-server module 中的server层,修改master.properties
在dolphinscheduler-server module 中server层,修改WorkerServer
@PropertySource(ignoreResourceNotFound = false, value = "classpath:worker.properties")
在dolphinscheduler-server module 中server层,修改worker.properties
在WorkerServer的run configuration中设置如下:
-Dspring.profiles.active=worker -Dlogging.config="dolphinscheduler-server/src/main/resources/logback-worker.xml"
分别启动API、Master、Worker
2.5前端环境配置
点击idea下的terminal按钮,执行以下命令:
cd dolphinscheduler-ui
npm install
在dolphinscheduler-ui module的ui层,选中.env文件,修改前端API Server地址及端口信息
启动前端
npm run start
打开浏览器,访问:localhost:8888
默认账号密码
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下面。