Skip to content

Latest commit

 

History

History
163 lines (109 loc) · 4.98 KB

DolphinScheduler本地开发环境搭建.md

File metadata and controls

163 lines (109 loc) · 4.98 KB

为了方便的调试 dolphinschedule, 选择在本地搭建一个可调式的开发环境

一、download dolphinschedule

https://github.com/apache/incubator-dolphinscheduler

我选择的是 master 分支

二、download zookeeper

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

三、create dolphinschedule database

使用docker 部署mysql

创建 dolphinscheduler 数据库

四、edit dolphinschedule conf

4.1 注释dolphinscheduler-ui

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

module

4.2 注释 mysql scope

mysqlscope

4.3 添加 注解

在apiserver中加入 @PropertySource(ignoreResourceNotFound = false, value = "classpath:application-api.properties")

注释1

在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

注释2

在service层修改zk地址,如果为本地zk,默认不需要修改

注释3

在Server层修改master代码, 添加: @PropertySource(ignoreResourceNotFound = false, value = "classpath:master.properties")

注释4

修改server的master.properties

注释5

在Server层修改worker代码, 添加: @PropertySource(ignoreResourceNotFound = false, value = "classpath:worker.properties")

注释6

修改server的worker.properties

注释7

在WorkerServer的run configuration中设置如下:

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

注释8

修改 dolphinscheduler-ui/.env 文件

注释15

五、创建表

修改 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`)  

执行创建类 注释9

六、编译

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

七、启动

分别启动API、Master、Worker

注释10

八、install npm

https://nodejs.org/en/

安装都是 next,安装完成后在cmd中输入:

注释11

安装 cnpm

npm install cnpm -g --registry=https://registry.npm.taobao.org

用 cnpm 安装依赖

cnpm install

九、启动 web ui

进入 dolphinscheduler-ui, 执行: npm run start

注释12

十、在浏览器中访问

注释13

账号: admin 密码: dolphinscheduler123

注释14