最近在看DataEase,发现挺好用的,推荐使用。
用的过程中萌生了二开的想法,于是自己玩了玩,并做了一些记录。

开发环境问题

下载源码,选稳定版本的,本案例是1.17.0版本。

下载地址

开源社区 – FIT2CLOUD 飞致云

数据库配置

数据库初始化:
DataEase 使用 MySQL 数据库,推荐使用 MySQL 5.7 版本。同时 DataEase 对数据库部分配置项有要求,请参考下附的数据库配置,修改开发环境中的数据库配置文件(以下配置有部分参数可能并不适用 MySQL 8.x 版本)

[mysqld]datadir=/var/lib/mysqldefault-storage-engine=INNODBcharacter_set_server=utf8lower_case_table_names=1table_open_cache=128max_connections=2000max_connect_errors=6000innodb_file_per_table=1innodb_buffer_pool_size=1Gmax_allowed_packet=64Mtransaction_isolation=READ-COMMITTEDinnodb_flush_method=O_DIRECTinnodb_lock_wait_timeout=1800innodb_flush_log_at_trx_commit=0sync_binlog=0group_concat_max_len=1024000sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTIONskip-name-resolve

建数据库

CREATE DATABASE `dataease` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

配置文件

DataEase 会默认加载该路径下的配置文件 /opt/dataease/conf/dataease.properties,请参考下面配置创建对应目录及配置文件
提示: 请自行将 MYSQL_HOST 配置为自己的 MySQL 地址。

# 数据库配置spring.datasource.url=jdbc:mysql://MYSQL_HOST:3306/dataease?autoReconnect=false&useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=falsespring.datasource.username=rootspring.datasource.password=Password123@mysqlcarte.host=kettlecarte.port=18080carte.user=clustercarte.passwd=clusterdoris.db=dataeasedoris.user=rootdoris.password=Password123@dorisdoris.host=doris-fedoris.port=9030doris.httpPort=8030#新建用户初始密码dataease.init_password=DataEase123456#登录超时时间单位min如果不设置 默认8小时也就是480dataease.login_timeout=480logger.level=INFO#DE运行模式,可选值有 local、simple、cluster,分别对应本地模式、精简模式、集群模式engine_mode=simple

文件地址需要对应修改一下地方

依赖相关问题

如遇到缺少 kettle 相关依赖的话,可以检查是否使用了 maven 的 mirror,建议去掉 mirror 后重试。如还不行的话,可以在百度网盘上下载一下最小化的 dataease 依赖包。链接: https://pan.baidu.com/s/1hoT6zGNFaToqTbLhnpm6lg 提取码: 45pg 将删除依赖包解压后放置到 ~/.m2/repository 下即可。

为了方便开到springboot的报错,可以加一个依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId><exclusions><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-logging</artifactId></exclusion></exclusions></dependency>

增加依赖后,可以清晰看到日志,缺少日志的目录,需要在工程所在的盘下建相应的目录

E:\opt\dataease\logs\dataease

本地运行

先确定idea已经引用pom的依赖

后端启动方式

  • 可以使用 io.dataease.Application 入口方法直接启动
  • 可以使用 maven 插件中的 backend>spring-boot>spring-boot:start 启动

前端启动方式

进入工程目录下的子目录 frontend, 用 npm i 安装前端依赖包
安装完成后,使用 npm run serve 命名启动前端,前端启动后即可通过 http://localhost:9528/ 地址访问


这时候就可以做修改代码的事情了

修改后可以像上面的步骤一样执行了。

下一篇讲 如何吧修改好的代码放到服务器上 以及整体替换,可以移植到任何地方正常安装。

DataEase二开记录–踩坑和详细步骤(二)