DataEase 开发环境部署指北

1,031 阅读4分钟

介绍

不水文,不过多赘述:

官方介绍

部署

docker部署就先不提了,官方有提供一键安装脚本,具体没有尝试,这里只谈本地开发环境的部署,dataease版本v1.11。

部署前的环境准备

  • Java 1.8 +
  • Mysql 5.7 (官方推荐
  • Maven
  • NodeJS 12 +
  • Docker

后端服务

首先将github.com/dataease/da…

git clone <https://github.com/dataease/dataease>
git checkout v1.11

修改配置文件 [dataease.properties](<http://dataease.properties>) , 需保证当前用户有 /opt/dataease 目录所有权限:

mkdir -p /opt/dataease/conf
vim /opt/dataease/conf/dataease.properties

把这些copy进去,192.168.1.8换成自己本机ip,切记不要用127.0.0.1!mysql配置改成自己本地的,carte和doris配置先忽略:

spring.datasource.url=jdbc:mysql://192.168.1.8:3306/dataease?autoReconnect=false&useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false
spring.datasource.username=root
spring.datasource.password=root

carte.host=192.168.1.8
carte.port=18080
carte.user=cluster
carte.passwd=cluster

doris.db=dataease
doris.user=root
doris.password=Password123@doris
doris.host=192.168.1.8
doris.port=9030
doris.httpPort=8030

#新建用户初始密码
dataease.init_password=DataEase123456
#登录超时时间单位min  如果不设置 默认8小时也就是480
dataease.login_timeout=480

logger.level=INFO

maven的setting.xml也建议不要用镜像,直接从maven中央仓拉取,防止有些镜像not found。什么?嫌中央仓库慢?不会吧不会吧,不会还有人没有翻墙工具吧!

在安装主项目依赖之前,先安装dataease官方依赖模块:

git clone <https://github.com/dataease/dataease-extension-sdk.git>
cd dataease-extension-sdk && mvn install

值得一提,在模块 frontendmobile 的pom会自动安装node相关环境, backend 的pom会寻找客户端打包后的静态资源文件。本人建议这些配置统统注释掉,前后分离干干净净的多好。万事具备,只欠东风,开始拉依赖:

cd dataease
mvn install

前面操作都成功以后,进入 backend 模块中,运行 src/main/java/io/dataease 下的 Application 主函数即可,或者运行:

java -jar backend/target/backend-1.11.1.jar

前端服务

相对简单,保证node环境没问题,另外安装好 yarn 工具:

npm install yarn -g

进入 frontend 文件夹中,运行:

yarn serve

看到如下日志就代表成功了,可以试试能不能访问:

App running at:
  - Local:   <http://localhost:9528/> 
  - Network: <http://192.168.1.8:9528/>

默认账号密码:admin/dataease

Kettle和Doris

完成前两步操作,就表示你已经可以使用直连数据集进行你的BI分析了,如果你不愿意止步于此,那就开启Kettle和Doris的大门。

对应的目录也需要提前创建起来:

mkdir -p /opt/dataease/conf
mkdir -p /opt/dataease/data/kettle
mkdir -p /opt/dataease/data/fe
mkdir -p /opt/dataease/data/be
mkdir -p /opt/dataease/logs

下载官方installer仓库:

git clone <https://github.com/dataease/installer.git>

将默认配置复制过去:

d installer/dataease/templates && cp -rp fe.conf be.conf .kettle /opt/dataease/conf && cd -

找个你喜欢的目录创建 docker-compose.yaml

version: '2.1'
services:

  doris-fe:
    image: registry.cn-qingdao.aliyuncs.com/dataease/doris:0.15
    container_name: doris-fe
    ports:
      - 8030:8030
      - 9030:9030
    environment:
      - DORIS_ROLE=fe-leader
    volumes:
      - /opt/dataease/data/fe:/opt/doris/fe/doris-meta
      - /opt/dataease/logs/fe:/opt/doris/fe/log
      - /opt/dataease/conf/fe.conf:/opt/doris/fe/conf/fe.conf
    networks:
      dataease-network:
        ipv4_address: 172.88.0.198
    restart: always

  doris-be:
    image: registry.cn-qingdao.aliyuncs.com/dataease/doris:0.15
    container_name: doris-be
    environment:
      - DORIS_ROLE=be
    volumes:
      - /opt/dataease/data/be:/opt/doris/be/storage
      - /opt/dataease/logs/be:/opt/doris/be/log
      - /opt/dataease/conf/be.conf:/opt/doris/be/conf/be.conf
    networks:
      dataease-network:
        ipv4_address: 172.88.0.199
    restart: always

  kettle:
    image: registry.cn-qingdao.aliyuncs.com/dataease/kettle:8.3-v1.2
    container_name: kettle
    ports:
      - 18080:18080
    volumes:
      - /opt/dataease/conf/:/opt/dataease/conf
      - /opt/dataease/data/kettle:/opt/dataease/data/kettle
    networks:
      - dataease-network
    restart: always

networks:
  dataease-network:
    driver: bridge
    ipam:
      driver: default
      config:
        - subnet: 172.88.0.0/16
          gateway: 172.88.0.1

一般情况下,fe.conf和be.conf都不需要改什么东西,启动:

docker-compose up -d

至此,改启动的服务都启动了,当然,这是最理想的情况。但往往事与愿违,人生就是如此,不经历一些沧桑就很难得到真正想要的东西。

常见问题

当我们一步一步走到这里,我们已经有了扎实的根基,于是我们准备开开心心的使用dataease,就在此时,啪的一下!

创建 Excel 数据集或定时同步类型的数据集时,提示 "Access denied for user 'root'(using password:YES)

dataease.io/docs/faq/da…

Failed to find enough host with storage medium and tag(HDD/{"location" : "default"}) in all backends. need: 1

解决方案

Error connecting to database: (using class org.gjt.mm.mysql.Driver) The statement (1) has no open cursor

数据源不要用localhost或者127.0.0.1,因为kattle是以docker镜像的形式部署,它访问不到的

数据源API post 报错 HttpClient查询失败: Unsupported Media Type

可以先看下官方有没有修复:github.com/dataease/da…

急性子可以自己改源码解决,参考:github.com/ainilili/da…

API定时同步失败

api定时同步是backend服务curl调用doris-fe,会收到重定向location到doris-be,它在docker镜像中,所以访问不到。

解决方案:backend和doris放在同一网络环境中运行,例如都放docker中运行。

To Be Continue…