启动项目

本文介绍如何在本地构建开发环境,启动 scaleph

配置 IDE

开发者需准备 IDE,scaleph 推荐使用 IntelliJ IDEA 开发,开发时需安装如下插件:

  • lombok

导入 IDEA

首先,clone scaleph 项目。

## fork 仓库。此步骤只建议对参与贡献 scaleph 有兴趣的开发者操作,否则无需 fork
## 点击 github 上的 fork 按钮,fork 到自己账号下

## --depth 1 参数会只下载默认分支代码,避免下载所有分支、tag 和历史提交信息,导致 clone 时间过久
## 如果是 fork 的仓库,需替换自己仓库链接
git clone https://github.com/flowerfine/scaleph.git --depth 1

导入项目:

  1. 启动 IDEA 并选择 New → Project from Existing Sources
  2. 选择 scaleph 根文件夹。
  3. 选择 Import project from external model -> Maven
  4. 保留默认选项,依次点击 Next,直至 SDK。
  5. 如果无 SDK 列表,使用左上角的 + 号创建,注意选择 Eclipse Temurin。选择 JDK,选择 JDK 主目录,单击 OK。选择 pom.xml 中的 JDK 版本。
  6. 单击 Next ,直至完成。
  7. 编译项目 Build → Make Project

启动依赖

scaleph 运行所需依赖如下:

  • redis
  • mysql
  • minio
  • gravitino小米下一代 Data AI 资产管理实践
    • mysql catalog 需要添加 jdbc 驱动,通过 volume 挂载到 ${gravitino_home}/catalogs/jdbc-mysql/libs,postgresql、doris 与此同理。具体参考 docker-compose.yml 同级目录下的 README.md

其中 minio 作为文件存储中间件,可以使用 HDFS、OSS 以及 S3 代替。

cd scaleph/tools/docker/local
docker compose up -d

依赖启动后,服务信息如下:

  • mysql。
    • host: localhost:3306
    • user: root
    • password: 123456
  • redis。
    • host: localhost:6379
    • password: 123456
  • minio。
    • host: http://127.0.0.1:9001
    • username: admin
    • password: password
    • scaleph 在提供的 minio 容器中创建了 scalephscaleph-public 2 个 bucket,其中 scaleph-public 可通过 http 匿名访问。访问方式为:http://$MINIO_IP:$MINIO_PORT/scaleph-public/$FILE_NAME,如 http://localhost:9000/scaleph-public/scaleph.svg
  • gravitino。

启动 scaleph-api

scaleph 服务端启动类为 cn.sliew.scaleph.Application,位于 scaleph-api 模块,scaleph-api/src/main/java 目录下。

当能看到类似下面日志输出时即启动成功:

2023-02-01 15:08:01.110 INFO 11680 [main] cn.sliew.scaleph.Application 61 行: Started Application in 20.158 seconds (JVM running for 23.118) 202

启动 scaleph-ui-react

安装依赖

cd scaleph-ui-react
npm install

启动前端项目

npm start

访问项目

点击 http://localhost:8000,默认用户名密码:sys_admin/123456