detaease源码修改直接部署
dataease 部署
dataease部署简介
官方给的在线部署方式,看似非常简单,其实是写的bash脚本,通过安装
docker,docker-compose等一系列工具,执行脚本来操作的,屏蔽了很多细节,而且linux本身又分了很多发行版,所以,很容易有一些隐形的坑,而且在线安装非常耗时,所以,这里采用了直接下载源码,修改部分配置,改成使用可执行jar的方式启动,回归传统的方式,简单有效
本文档基于当时的最新版v1.2.2,不是该版本的时候,仅供参考
开始部署
1. 下载源码
- 下载源码
checkout tag
1 | git clone git@github.com:dataease/dataease.git |
2. 准备编译环境
因为dataease使用的pentaho-kettle相关系列的jar,不在maven中央仓库,所以需要设置额外的profile,来下载相关的jar
1 | <profile> |
注意mvn使用的时候,不要忘记增加参数增加-P omni来使该profile起效
3. 编译代码
执行一下命令编译,第一次编译非常慢,下载下载node,并且执行npm install,还要下载大量的jar,非常耗时
1 | mvn clean package -DskipTests |
4. 需要修改的配置
4.1 获取dataease.properties文件
下载在线安装包,解压以后,在dataease/templates/目录找到dataease.properties文件,复制到项目的backend/src/main/resources下面,里面的spring.datasource相关的就是该应用使用的数据库配置,其余的可以暂时忽略
4.2 修改io.dataease.Application配置
修改value为classpath:dataease.properties
1 |
4.3 修改io.dataease.config.WebMvcConfig配置
复制
mapFiles文件夹到backend/src/main/resources目录修改
io.dataease.config.WebMvcConfig类,value改为classpath:mapFiles/full/.
1 |
|
4.4 修改ehcache.xml的引用位置
ehcache.xml的diskStore改成线上存在的位置,否则回报错,需要提前修改,因为打包成可执行jar以后,就不好修改了
4.5 generatorConfig.xml修改
1 | <properties url="classpath:dataease.properties"/> |
4.6 logback.xml修改
删除下面一行,直接使用application.properties的配置,
1 | <property file="/opt/dataease/conf/dataease.properties"/> |
总共有三个引用,其中只有${logger.level:INFO}有默认值,其余都没有,需要自己配置,直接配置到application.properties文件里面
${logging.file.path}${logger.level:INFO}${logger.sql.level}
5. 重新编译
重新编译即可,backend项目target目录会生成一个backend-1.2.0.jar,这个就是spring boot的可执行jar,可以直接部署
6. 配置专用数据库
因为dataease项目使用了一些额外的功能,所以数据库的配置必须满足一下要求,如果原来的数据库已经满足,可以忽略,不满足,建议docker新建一个数据库,专门给dataease使用
lower_case_table_names=1不区分大小写group_concat_max_len=1024000尽可能的数值非常大sql_mode去掉only_full_group_by,以mysql8.0.26为例,去掉only_full_group_by以后,这样配置sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
7. 配置默认数据源
用户有两个,一个是admin,一个是demo,密码默认都是dataease,登陆以后,会发现默认的数据源配置不对,因为我们不是docker的方式部署,数据库用的是我们自己的配置,所以,可以新建一个数据源,填写我们数据库的配置,然后到数据库datasource表,把configuration字段,复制到’demo’记录那一行,这样,所有的预览就可以正常起效了