前置需求

scaleph 使用常用的 Java 开发框架的开发的数据平台 Admin 管理系统,使用、开发、部署、运维和问题定位都需要一定的技能要求。

scaleph 对接 Flink Kubernetes Operator,实现 Flink 任务以一种云原生方式运行在 Kubernetes 上。scaleph 同时支持 Jar、SQL 和 SeaTunnel(Flink 引擎)3 种类型的任务,满足数据集成和 ETL 2 种业务场景。

scaleph 的用户分为 2 类:

  • 维护者。需处理安装部署、问题排查、开发升级等
  • 使用者。进行数据工作

scaleph 系统维护者需了解一下知识,使用者无需了解。

容器和 Kubernetes

scaleph 本身和 Flink 都运行在容器和 Kubernetes 中,用户需对容器和 Kubernetes 有所了解,掌握一定技能:

  • docker 和 kubernetes 安装
  • 日志查看功能
    • 登陆容器,查看日志信息
    • 使用 kubectl 查看 kubernetes 中 pod 日志
  • 状态查询
    • 查询容器状态
    • 查询 kubernetes 中 pod 状态。当 Flink 首次运行时,本地缺少镜像,kubernetes 会自动下载镜像。网络环境不好时,任务会长时间卡在镜像拉取阶段

Flink 支持多种资源方式:

  • Standalone。Standalone 方式仅仅使用容器和 Kubernetes 作为服务器资源提供者,Flink 无法感知到自己运行在容器或 Kubernetes 中。Flink 运行所需要的资源都需要用户手动管理和维护
  • YARN
  • Native Kubernetes。Flink 直接访问 Kubernetes,申请和管理资源。

用户在使用 scaleph 运行 Flink 任务前,需对 Flink 运行在容器和 Kubernetes 原理有个基础了解,实践 Flink 文档 example,确定自己提供的容器和 Kubernetes 环境能够运行 Flink 任务。

Flink Kubernetes Operator 运行所需

SeaTunnel

Doris