DataEase 开源 BI 工具快速上手指南:一键部署、配置参数解析与 dectl 运维实践
【免费下载链接】dataease🔥 人人可用的开源 BI 工具,数据可视化神器。An open-source BI tool alternative to Tableau.项目地址: https://gitcode.com/GitHub_Trending/da/dataease
DataEase 是一款人人可用的开源 BI(商业智能)工具,主打"操作简单、上手容易",用户无需编写代码即可完成数据接入、图表制作与分享。本文以当前仓库中日文版项目介绍(docs/README.ja.md)为骨架,结合仓库内真实的一键安装脚本、配置模板与容器编排文件,系统讲解 DataEase 的快速部署流程、核心配置项含义、后台服务架构以及日常运维命令,帮助读者从零开始跑通一套可用的 DataEase 环境,并理解其底层实现。
DataEase 是什么
DataEase 是一个开源的 BI 工具,目标是帮助用户快速分析数据、获取业务洞察,并据此推动业务改进与优化。它支持接入多种数据源,通过拖拽式界面即可完成图表创建,并能方便地与团队内其他人共享分析结果。仓库主体分为后端服务(core/core-backend)、前端应用(core/core-frontend)与 SDK 扩展(sdk),安装部署则统一由 installer 目录下的脚本体系承载。
四大核心优势
- 开源免费:使用无门槛,可在线快速获取并安装,项目保持每月更新的发布节奏;
- 简单易用:面向业务人员设计,通过鼠标点击与拖拽即可完成数据分析,无需编程;
- 用途广泛:支持多平台安装与多种嵌入方式,可灵活集成到现有业务系统;
- 安全共享:在保障数据安全的前提下,提供多种数据共享方式。
支持的数据源矩阵
DataEase 对数据源的支持覆盖了从传统 OLTP 数据库到数据文件的广泛范围,可归纳为五类:
| 类别 | 支持的数据源 |
|---|---|
| OLTP 数据库 | MySQL、Oracle、SQL Server、PostgreSQL、MariaDB、Db2、TiDB、MongoDB-BI |
| OLAP 数据库 | ClickHouse、Apache Doris、Apache Impala、StarRocks |
| 数据仓库 / 数据湖 | Amazon RedShift 等 |
| 数据文件 | Excel、CSV |
| API 数据源 | 通过 API 接入第三方数据 |
从源码结构看,数据源相关的驱动与扩展能力沉淀在 sdk/extensions 与 sdk/api 模块中,为上层数据集(Dataset)与图表引擎提供统一的数据访问抽象。
快速开始:一条命令完成安装
硬件与系统前置条件
官方推荐的最小部署环境为:2 核 CPU、4GB 及以上内存的 Linux 服务器。安装脚本还会在启动前自动检查运行目录所在磁盘的剩余空间——在 installer/install.sh 的check_and_prepare_env_params函数中,当磁盘剩余空间不足 20G 时会打印警告"可能无法正常启动"。
一键安装命令
安装脚本会完成从环境检测、Docker 安装到镜像加载与服务启动的全过程。以 root 用户执行一键安装脚本即可:
curl -sSL https://dataease.oss-cn-hangzhou.aliyuncs.com/quick_start_v2.sh | bash安装完成后使用默认账号登录:
- 用户名:
admin - 初始密码:
DataEase@123456
登录后即可通过浏览器访问部署机器的服务端口(默认8100)进入 DataEase 控制台,开始创建数据集与图表。
一键脚本的源码级流程拆解
仓库根目录下的 installer/quick_start.sh 是实际执行的一键引导脚本,其核心逻辑可拆解为五个阶段:
- 网络探测:先检测
github.com连通性,若无法访问则直接退出并提示"没有找到稳定的下载服务器"; - 版本获取:通过 Python 调用 GitHub Releases API,按
v2.\d+.\d+的正则匹配过滤预发布版本,取最新的正式 v2 版本号并写入/tmp/de_latest_release; - 安装包下载:拼接在线安装包文件名
dataease-online-installer-${latest_version}-ce.tar.gz并下载(-ce后缀对应社区版); - 解压安装:解压安装包后进入解压目录,调用
/bin/bash install.sh执行真正的安装流程; - 失败重试提示:下载或解压失败时均会提示重新执行一次安装命令。
而 installer/install.sh 是完整的安装主流程,其main函数依次执行:检查环境并初始化变量 → 设置运行目录 → 初始化运行目录(生成.env)→ 安装 dectl 命令行工具 → 修改系统设置(关闭 SELinux、开放防火墙端口)→ 安装 Docker → 安装 docker-compose → 加载 DataEase 镜像 → 配置 systemd 服务 → 启动服务。安装日志会实时写入当前目录的install.log文件。
核心配置参数详解
安装包内置的 installer/install.conf 是安装阶段的唯一配置入口,所有参数以DE_前缀命名,安装时会通过source加载并最终写入运行目录的.env文件(见 install.sh 中env | grep DE_ >.env的逻辑),随后由 docker-compose 与环境变量替换机制(envsubst)注入到各容器与配置模板中。
基础配置
| 参数 | 默认值 | 说明 |
|---|---|---|
DE_BASE | /opt | 安装目录,DataEase 运行文件将部署到${DE_BASE}/dataease2.0 |
DE_PORT | 8100 | 服务访问端口 |
DE_LOGIN_TIMEOUT | 960 | 登录超时时间(分钟),不设置则默认 16 小时 |
DE_INSTALL_MODE | community | 安装模式,社区版为community |
DE_CONTEXT_PATH | 空 | 动态路径(context-path),为空时使用根路径 |
数据库配置
| 参数 | 默认值 | 说明 |
|---|---|---|
DE_EXTERNAL_MYSQL | false | 是否使用外部数据库,false时由安装包内置 MySQL 容器 |
DE_MYSQL_HOST | mysql-de | 数据库地址,内置部署时同时作为容器名 |
DE_MYSQL_PORT | 3306 | 数据库端口(仅外部数据库时生效) |
DE_MYSQL_DB | dataease | DataEase 使用的库名 |
DE_MYSQL_USER | root | 数据库用户名 |
DE_MYSQL_PASSWORD | Password123@mysql | 数据库密码,如含特殊字符需用双引号包裹,例如DE_MYSQL_PASSWORD="Test@4&^%*^" |
DE_MYSQL_PARAMS | 见原文件 | JDBC 连接参数,含characterEncoding=UTF-8、useSSL=false、allowPublicKeyRetrieval=true等 |
需要说明的是:当使用外部 MySQL 时,installer/install.sh 会删除 installer/dataease/docker-compose.yml 中depends_on对内置数据库的健康检查依赖,此时 installer/dataease/docker-compose-mysql.yml 不会被加载(dectl中也以DE_EXTERNAL_MYSQL != false为条件决定是否追加该 compose 文件)。
定时报告与浏览器渲染配置
| 参数 | 默认值 | 说明 |
|---|---|---|
DE_EXTERNAL_PLAYWRIGHT | false | 是否使用外部 Playwright 服务,若为true则下述限制参数无效 |
DE_PLAYWRIGHT_SERVER | http://de-playwright-api:3000/screenshot | Playwright 服务地址,用于定时报告截图渲染 |
DE_PLAYWRIGHT_CONCURRENCY | 4 | 并发渲染数 |
DE_PLAYWRIGHT_SHM_SIZE | 2gb | 容器共享内存大小(对应 compose 中的shm_size) |
网关与同步模块配置
| 参数 | 默认值 | 说明 |
|---|---|---|
DE_EXTERNAL_APISIX | false | 是否使用外部 APISIX 网关,为true时下述端口无效 |
DE_APISIX_DASHBOARD_PORT | 9000 | APISIX Dashboard 端口 |
DE_APISIX_PORT | 9080 | APISIX 网关端口 |
DE_EXTERNAL_SYNC_TASK | false | 是否使用外部同步任务模块 |
其他配置
| 参数 | 默认值 | 说明 |
|---|---|---|
DE_EXPORT_VIEWS_LIMIT | 100000 | 视图导出条数上限 |
DE_EXPORT_DATASET_LIMIT | 100000 | 数据集导出条数上限 |
DE_ORIGIN_LIST | "http://localhost:8000" | 允许的跨域来源列表 |
DE_SERVERS | dataease | 节点列表,多节点部署时以逗号分隔,如192.168.1.101,192.168.1.102 |
DE_SPRING_PROFILE | 空 | application.yml中可引入的其他配置文件 |
这些参数最终通过 installer/dataease/templates/application.yml 模板中的${DE_XXX}占位符注入到 Spring Boot 应用配置中,包括数据源 URL(jdbc:mariadb://...)、导出上限、登录超时、跨域列表与 Playwright 服务地址等。
后台架构:Docker Compose 服务编排
DataEase 采用 Docker Compose 进行容器化编排,所有服务位于同一个dataease-network网络中。安装完成后,各 compose 文件会被复制到运行目录/opt/dataease2.0下,由dectl按安装模式动态组合加载。
核心服务 dataease
installer/dataease/docker-compose.yml 定义了主服务:映射${DE_PORT}:8100端口,挂载了conf、logs、static-resource、cache、geo、map、appearance、exportData、plugin、font、i18n、report等一系列数据卷目录,将前端静态资源、地图、插件、导出数据等全部持久化到宿主机,保证容器重建后数据不丢失。
内置数据库 MySQL
installer/dataease/docker-compose-mysql.yml 定义了内置 MySQL 8.4 容器,包含:
mysqladmin ping健康检查(5 秒间隔、3 秒超时、10 次重试);- 通过 installer/dataease/templates/mysql.env 注入数据库初始化环境变量;
- 挂载 installer/dataease/templates/my.cnf 自定义配置与初始化 SQL 目录;
- 数据持久化到
${DE_BASE}/dataease2.0/data/mysql。
可选服务:APISIX、同步任务与 Playwright
- APISIX 网关(installer/dataease/docker-compose-apisix.yml):仅在非社区模式且
DE_EXTERNAL_APISIX != true时启用,随附 etcd(启用 v2 协议)作为配置存储,并挂载自定义的cas-auth.lua、hmac-auth.lua认证插件;dectl在首次启动时会为 APISIX 生成随机密钥DE_APISIX_KEY并同步写入网关配置与application.yml; - 同步任务模块(installer/dataease/docker-compose-task.yml):独立的
dataease-sync-task容器,用于数据同步与任务执行; - Playwright 渲染服务(installer/dataease/docker-compose-playwright.yml):提供定时报告截图能力,配置了并发数、
shm_size、ipc: host与/health健康检查。
dectl:日常运维命令全览
安装完成后,系统会安装dectl命令行工具到/usr/local/bin/dectl与/usr/bin/dectl,它是 DataEase 的日常运维控制台。其用法如下(详见 installer/dectl):
dectl [COMMAND] [ARGS...]| 命令 | 功能 |
|---|---|
dectl status | 查看服务运行状态、容器状态、磁盘与日志占用情况 |
dectl start | 启动服务(首次会初始化 APISIX 密钥) |
dectl stop | 停止服务 |
dectl restart | 重启服务 |
dectl reload | 重新加载服务 |
dectl upgrade | 在线升级:自动比对当前版本与最新版本后下载安装包并升级 |
dectl backup | 备份数据(可交互选择是否停服,生成dataease-backup-时间戳.tar.gz) |
dectl restore xxx.tar.gz | 从备份文件还原数据 |
dectl clear-images | 清理旧版本相关 Docker 镜像与虚悬镜像 |
dectl clear-logs | 清理历史日志 |
dectl version | 查看当前版本与最新版本 |
值得说明的实现细节:dectl会根据DE_INSTALL_MODE与DE_EXTERNAL_*系列开关动态拼接-f参数决定加载哪些 compose 文件;status命令内置健康检查循环(最多等待 90 秒),通过docker inspect读取容器状态与健康状态,直到显示"正常运行";backup会拒绝在安装目录及其子目录内执行,以避免将备份文件打包进自身。
技术栈概览
依据官方文档声明并结合仓库结构,DataEase 的核心技术栈如下:
- 前端:Vue.js + Element 组件库,代码位于 core/core-frontend(含 500+ Vue 组件与图表相关资源);
- 可视化:基于 AntV 生态实现图表渲染;
- 后端:Spring Boot 框架,代码位于 core/core-backend(383 个 Java 源文件),配置模板见 installer/dataease/templates/application.yml;
- 数据库:MySQL(内置部署使用 MySQL 8.4 镜像);
- 数据处理:Apache Calcite 与 Apache SeaTunnel,支撑数据集 SQL 解析与数据同步任务;
- 基础设施:Docker 容器化部署,由 docker-compose 编排。
安全与许可
如果你在使用 DataEase 过程中发现安全漏洞,请通过邮件wei@fit2cloud.com联系项目方反馈。
DataEase 采用GNU General Public License version 3(GPLv3)开源协议授权,Copyright (c) 2014-2024 FIT2CLOUD。在该许可条款下,软件按"现样"(AS IS)提供,不附带任何明示或默示的担保;关于许可下的权利与限制细节,请参阅 GPLv3 全文。
结语
通过本文,你应当已经掌握 DataEase 的核心能力、一键安装流程、全部关键配置参数的含义,以及基于 dectl 的日常运维方法,同时透过 installer 目录下的脚本与编排文件理解了其容器化部署的底层原理。无论是个人快速体验还是团队内部落地,这份指南都可以作为你从部署到运维的完整参考。
【免费下载链接】dataease🔥 人人可用的开源 BI 工具,数据可视化神器。An open-source BI tool alternative to Tableau.项目地址: https://gitcode.com/GitHub_Trending/da/dataease
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考