一、本地开发环境的搭建
1、准备工作:
1.1、环境:
后端
- JDK(1.8+)
- Maven(3.3+)
最好在本地解压一个hadoop并配上环境变量(不配好像会报一个winutils…的问题)
前端
- node(Node包下载 (注意版本 8.9.4) https://nodejs.org/download/release/v8.9.4/)
本地环境变量的配置:
1.2、源码下载
git branch -a
#查看分支git checkout dev-db
#切换到dev-db分支git pull
#同步分支
#由于项目前端的日志模块,使用了gRPC调用后端,所以需要先编译项目。- 编译项目:
mvn -U clean package -Prelease -Dmaven.test.skip=true -Dmaven.javadoc.skip=true
(1.2之后的版本)
(1.2之前:mvn -U clean package assembly:assembly -Dmaven.test.skip=true
)
*如果dolpinscheduler-ui模块编译不过,可以直接去pom.xml文件中去掉ui模块,跳过编译
2、搭建后端:
2.1、修改 pom.xml 文件 [采用 mysql 数据库 ]
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.connector.version}</version>
<!--<scope>test</scope>-->
</dependency>
2.2、修改配置
1、dolphinscheduler-common的hadoop.properties
主要修改的配置项有:
fs.defaultFS=hdfs://xxxx
yarn.resourcemanager.ha.rm.ids=192.168.0.244,192.168.0.245
2、dolphinscheduler-common的common.properties
主要修改的配置项有:
res.upload.startup.type=HDFS
3、dolphinscheduler-common的quartz.properties
:ds1.2数据库默认使用postgresql,所以如果使用mysql,需要修改mysql的配置
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate
org.quartz.dataSource.myDs.driver = com.mysql.jdbc.Driver
4、dolphinscheduler-common的zookeeper.properties
:配置连接及路径
5、dolphinscheduler-dao的application-dao.properties
修改spring.datasource的相关配置
2.3、数据库初始化
- 创建ds数据库
CREATE DATABASE dolphinscheduler
- 创建表和初始化数据: 修改dao模块resource目录下
application.properties
文件中的数据库配置信息,然后执行org.apache.dolphinscheduler.dao.upgrade.shell.CreateDolphinScheduler
的类,运行完,刷新数据库,表和数据都有了。
2.4、运行前的配置修改
2.4.1、启动MasterServer
org.apache.dolphinscheduler.server.master.MasterServer类main函数增加如下代码:
System.setProperty("spring.profiles.active","master");
修改server模块resources目录下master_logback.xml文件,增加以下代码:
<root level="INFO">
<appender-ref ref="MASTERLOGFILE"/>
<!-- 增加日志到控制台-->
<appender-ref ref="STDOUT"/>
</root>
然后执行MasterServer即可。
2.4.2、启动WorkerServer
org.apache.dolphinscheduler.server.worker.WorkerServer类main函数增加如下代码:
System.setProperty("spring.profiles.active","worker");
修改server模块resources目录下worker_logback.xml文件,增加以下代码:
<root level="INFO">
<appender-ref ref="TASKLOGFILE"/>
<appender-ref ref="WORKERLOGFILE"/>
<!-- 增加日志到控制台-->
<appender-ref ref="STDOUT"/