使用源代码本地启动
本文档介绍如何基于 源码方式 在本地启动 qData。请根据以下步骤逐一完成环境准备、服务配置和启动操作。
1、前提条件
1.1、安装 Docker 和 Docker Compose
在安装 qData 前,请确保您的设备符合以下最低配置要求(建议在 Linux 服务器或虚拟机中安装 Docker 相关组件):
- CPU: >= 4 核
- 内存 (RAM): >= 8 GiB
⚠️ 注意:请确保 Docker 与 Docker Compose 已正确安装并可在终端中正常执行。
2、版本要求
| 组件 | 版本要求 |
|---|---|
| JDK | 1.8 |
| Maven | 3.6+ |
| yarn | v1.22.22+ |
| Node.js | 18.0+ |
| Python | 3.x |
| Docker | 19.03 or later |
| Docker Compose | 1.28 or later |
3、克隆qData仓库
git clone https://gitee.com/qiantongtech/qData.git4、准备 DataX
4.1、安装 Python 3
DataX 通过 Python 3 启动。请先安装 Python 3,并确认对应系统的命令可以正常执行:
python3 --versionpython --versionWindows 用户还需要将 application-dev.yml 中的 python-command 改为 python。
4.2、准备 DataX 目录
🔗 百度网盘:https://pan.baidu.com/s/1sKgeBnMZmRnIr42_pVHmiw
🔑 提取码:加入 QQ 交流群后,在群文件中查看。 👉 点此加入 QQ 交流群
打包完成后,将生成的 datax 目录放到 qData 项目根目录下。放置后的目录结构应如下:
qData/
├── datax/
│ ├── bin/
│ │ └── datax.py
│ └── lib/
├── qdata-server/
└── ...⚠️ 注意:DataX 目录名应保持为
datax,并确保datax/bin/datax.py和datax/lib存在。
4.3、配置 DataX
检查 qdata-server/src/main/resources/application-dev.yml 中的 DataX 配置:
datax:
# DataX root directory, can be overridden by QDATA_DATAX_HOME
home: ${user.dir}/datax/
# Python command
python-command: python3 # Windows 改为 python
# Path to the datax.py invocation file
datax-py-path: ${user.dir}/datax/bin/datax.py
# DataX lib directory
lib-dir: ${user.dir}/datax/lib
# Directory where qData generates DataX Job JSON files
job-dir: ${user.dir}/upload/datax/job${user.dir} 为 qData 的运行目录。在 IDEA 中启动时,请确保项目的工作目录为 qData 项目根目录。
5、使用 Docker Compose 启动中间件
qData 后端依赖以下中间件:
- 数据库:DM8 / MySQL、PostgreSQL
- 缓存与消息队列:Redis、RabbitMQ
- 文件与存储:MongoDB、Hadoop、kkFileView
- 调度:DolphinScheduler
通过 Docker Compose 启动中间件:
#Docker Compose 部署文档中的本地源码模式
docker compose --profile local up -d👉 参考 Docker Compose 部署文档
6、启动后端
6.1、环境准备
- JDK = 1.8
- Maven >= 3.6
6.2、IDEA 启动项目
使用 IntelliJ IDEA 打开项目。
6.3、构建项目
mvn clean -DskipTests=true install6.4、必要配置
以下配置均需在 application-dev.yml 文件中修改:
6.4.1、qdata-server配置
- 修改 qData 服务的 Redis 连接信息,编辑
qdata-server/src/main/resources/application-dev.yml
spring:
redis:
host: IP
port: 端口
database: 0
password: 密码- 修改RabbitMQ连接信息,编辑
qdata-server/src/main/resources/application-dev.yml
spring:
rabbitmq:
host: IP
port: 端口
username: 账户
password: 密码- 修改数据库连接信息,编辑
qdata-server/src/main/resources/application-dev.yml
# 主数据源选择
datasource:
type: mysql # mysql 或 dm8,填写哪个就修改下面对应的的配置信息
# MySQL配置
mysql:
# JDBC驱动类名
driver-class-name: com.mysql.cj.jdbc.Driver
# 主库JDBC连接URL
url: jdbc:mysql://IP:端口/qdata?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
# 主库用户名
username: 账号
# 主库密码
password: 密码
# 达梦配置
dm8:
# JDBC驱动类名
driver-class-name: dm.jdbc.driver.DmDriver
# 主库JDBC连接URL
url: jdbc:dm://IP:端口/QDATA?STU&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8&schema=QDATA&serverTimezone=Asia/Shanghai
# 主库用户名
username: 账号
# 主库密码
password: 密码- 修改调度器相关配置,编辑
qdata-server/src/main/resources/application-dev.yml
#调度器相关配置
ds:
# 调度器api前缀
base_url: http://IP:12345/dolphinscheduler
# 数据质量服务组件HTTP回调地址
quality_url: http://127.0.0.1:8083/quality/qualityTaskExecutor/runExecuteTask
# 数据质量任务dolphinscheduler项目编码
http_quality_projectCode: 134799536571008
# 调度器令牌(可以自行修改)
token: b07f0e57c4818043a57ba05a28da291a
# spark相关配置
spark:
#spark-master的地址
master_url: spark://spark:7077
#jar包在ds的路径
main_jar: file:/dolphinscheduler/default/resources/spark-jar/qdata-executor-etl-3.8.8.jar
#jar main入口
main_class: tech.qiantong.qdata.spark.etl.EtlApplication
# hdfs相关配置
hdfs:
#NameNode RPC地址(客户端连接 HDFS 的入口地址)
url: hdfs://namenode:8020
# 调度器 Redis 配置,用于获取最新数据源信息及保障任务执行
redis:
host: redis
port: 6379
database: 0
password: 密码- 修改数据质量服务相关配置,编辑
qdata-server/src/main/resources/application-dev.yml
path:
# 数据质量服务前缀
quality_url: http://127.0.0.1:8083/quality/qualityTaskExecutor6.4.2、 qdata-service-quality 配置
- 修改RabbitMQ连接信息,编辑
qdata-service-quality/src/main/resources/application-dev.yml
spring:
rabbitmq:
host: IP
port: 端口
username: 账户
password: 密码- 修改MongoDB连接信息,编辑
qdata-service-quality/src/main/resources/application-dev.yml
spring:
data:
mongodb:
# 连接地址
uri: mongodb://账户:密码@IP:端口/data?authSource=admin
field-naming-strategy: org.springframework.data.mapping.model.SnakeCaseFieldNamingStrategy
print: true
slowQuery: true
slowTime: 1000- 修改数据库连接信息,编辑
qdata-service-quality/src/main/resources/application-dev.yml
# 主数据源选择
datasource:
type: mysql # mysql 或 dm8,填写哪个就修改下面对应的的配置信息
# MySQL配置
mysql:
# JDBC驱动类名
driver-class-name: com.mysql.cj.jdbc.Driver
# 主库JDBC连接URL
url: jdbc:mysql://IP:端口/qdata?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
# 主库用户名
username: 账号
# 主库密码
password: 密码
# 达梦配置
dm8:
# JDBC驱动类名
driver-class-name: dm.jdbc.driver.DmDriver
# 主库JDBC连接URL
url: jdbc:dm://IP:端口/QDATA?STU&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8&schema=QDATA&serverTimezone=Asia/Shanghai
# 主库用户名
username: 账号
# 主库密码
password: 密码- 修改RabbitMQ连接信息,编辑
qdata-service-quality/src/main/resources/application-dev.yml
spring:
rabbitmq:
host: IP
port: 端口
username: 账户
password: 密码6.4.3、启动 qdata-server 服务
运行 qdata-server/src/main/java/tech/qiantong/qdata/server/QDataApplication.java
6.4.4、启动 qdata-service-quality 服务
运行 qdata-service-quality/src/main/java/tech/qiantong/qdata/quality/QualityApplication.java
7、启动前端
7.1、环境准备
- Node.js >= 18.0
- yarn >= v1.22.22
7.2、启动前端服务
# 进入前端目录
cd qdata-ui
# 安装依赖
yarn install
# 启动
yarn run dev7.3、重置admin密码
#在数据库中执行下面的SQL
UPDATE SYSTEM_USER
SET PASSWORD='$2a$10$3dzj0nGSmlNjPw4iuZNHse5.lxrNzumTCQ8aEaV7nNEtn2pXmmimW'
WHERE USER_ID=1;7.4、访问qData
在浏览器中打开:(http://localhost:81)
默认账户/密码: admin/qData123
若能正确展示登录页面,并能成功登录,菜单及页面展示正常,则表明环境搭建成功
