为了方便的调试 dolphinschedule, 选择在本地搭建一个可调式的开发环境
https://github.com/apache/incubator-dolphinscheduler
我选择的是 master 分支
http://mirrors.hust.edu.cn/apache/zookeeper/stable/apache-zookeeper-3.5.9-bin.tar.gz
解压, 修改配置文件名
cp zoo_sample.cfg zoo.cfg
修改配置
vim zoo.cfg
dataDir=D:/dolphinscheduleTest/apache-zookeeper-3.5.9-bin/data
启动 server, 双击 zkServer.cmd
启动 client, 双击 zkCli.cmd
使用docker 部署mysql
创建 dolphinscheduler 数据库
在pom文件里面,找到 modules,将 dolphinscheduler-ui 注释掉
在apiserver中加入 @PropertySource(ignoreResourceNotFound = false, value = "classpath:application-api.properties")
在Dao里面修改 application.properties
配置,根据具体数据库修改
# mysql
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://192.168.1.221:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=123456
在service层修改zk地址,如果为本地zk,默认不需要修改
在Server层修改master代码, 添加: @PropertySource(ignoreResourceNotFound = false, value = "classpath:master.properties")
修改server的master.properties
在Server层修改worker代码, 添加: @PropertySource(ignoreResourceNotFound = false, value = "classpath:worker.properties")
修改server的worker.properties
在WorkerServer的run configuration中设置如下:
-Dspring.profiles.active=worker -Dlogging.config="dolphinscheduler-server/src/main/resources/logback-worker.xml"
修改 dolphinscheduler-ui/.env 文件
修改 sql/upgrade/1.4.0_schema/mysql/dolphinscheduler_ddl.sql 文件中的两段sql
DROP TABLE IF EXISTS `t_ds_plugin_define`;
CREATE TABLE `t_ds_plugin_define` (
`id` int NOT NULL AUTO_INCREMENT,
`plugin_name` varchar(100) NOT NULL COMMENT 'the name of plugin eg: email',
`plugin_type` varchar(100) NOT NULL COMMENT 'plugin type . alert=alert plugin, job=job plugin',
`plugin_params` text COMMENT 'plugin params',
created_at timestamp NULL DEFAULT '0000-00-00 00:00:00',
updated_at timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `t_ds_plugin_define_UN` (`plugin_name`,`plugin_type`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `t_ds_alert_plugin_instance`;
CREATE TABLE `t_ds_alert_plugin_instance` (
`id` int NOT NULL AUTO_INCREMENT,
`plugin_define_id` int NOT NULL,
`plugin_instance_params` text COMMENT 'plugin instance params. Also contain the params value which user input in web ui.',
created_at timestamp NULL DEFAULT '0000-00-00 00:00:00',
updated_at timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`instance_name` varchar(200) DEFAULT NULL COMMENT 'alert instance name',
PRIMARY KEY (`id`)
mvn -U clean package -Prelease -Dmaven.test.skip=true
分别启动API、Master、Worker
安装都是 next,安装完成后在cmd中输入:
安装 cnpm
npm install cnpm -g --registry=https://registry.npm.taobao.org
用 cnpm 安装依赖
cnpm install
进入 dolphinscheduler-ui, 执行: npm run start
账号: admin 密码: dolphinscheduler123