- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
在AWS上部署无服务器 DolphinScheduler-张鑫
展开查看详情
1 .在亚马逊云上部署 无服务器 DolphinScheduler 讲师: 张鑫
2 .目录 CONTENTS 01 一切从需求出发 02 无服务器服务介绍 03 在云上开始构建 04 回到业务场景中
3 .在AWS上的数据分析业务
4 .任务调度的需求 • 可视化任务编排 • 监控和告警功能 • 弹性和可扩展性 • 自动化任务调度
5 .
6 .可选方案
7 .为什么引入DolphinScheduler 易于上手 • 更灵活的任务依赖配置 • 调度管理界清晰易学 • 任务插件化,方便自定义任务类型,原生支持AWS数据任务 灵活部署 • 支持kubernetes、Docker部署,扩展性强 性能领先 • DAG调度吞吐优于airflow 高可靠性 • 去中心的多master多worker设计架构,支持服务动态上下线,容错和调节功能 社区生态好 • 社区活跃度高,文档详尽,版本迭代更新快 • 有商业公司支持,也有商业版,满足不同客户需求
8 .开始构建
9 . 无服务器数据库-Aurora • 可变工作负载,以至少0.5ACU(2GB) 进行扩容; • 多租户应用程序,管理每个数据库的容量; • 容量规划,可以避免产生此管理开销,仅设置最大 最小容量; • 开发和测试,以最低容量进行测试,同时能快速弹 性到适合的工作负载
10 .主要存储选型
11 .无服务器容器服务-Fargate on EKS & ECR • 部署和管理应用程序而非基础设施。Fargate 消除了扩缩、修补、保护和管理服务器的运营 开销。 • 无需安装或扩展基础设施即可将容器映像推送 到 Amazon ECR,并使用任何管理工具拉取映 像。 • 通过高效的计算资源预置和自动 Kubernetes 应用程序扩展降低成本。
12 .搭建无服务器Dolphinscheduler架构 • EKS集群位于两个可用区,部署在私有子 网内,使用ECR镜像仓库管理 DolphinScheduler镜像; • EKS使用Fargate节点,持久化存储挂载 在EFS,资源存储使用S3对象存储服务, 使用Aurora Serverless PostgreSQL提供元 数据库; • DolphinScheduler api、worker及master 节点通过跳板机Kubectl命令进行扩缩容; • 使用AWS Load Balancer Controller部署 internet-facing负载均衡,代理api及UI服务 对外提供访问。
13 .准备工作 网络规划 EKS集群创建 EKS 集群多可用区 分离公有子网和私有子网 数据库及存储 对不同子网设置安全组和路由 使用fargate节点组创建数据库 策略 和存储 准备自定义镜像 在跳板机中配置集群通信策略, 在私有子网创建aurora 安装客户端 postgresql数据库集群 EKS挂载EFS存储做持久化 基于官方镜像拉取api、worker、 资源插件存储在S3 master等镜像,安装插件,上 传ECR
14 . 在EKS部署 使用helm 安装 ① ② ④ ③
15 . 验证服务 访问ELB 地址 DolphinScheduler:http://k8s-nlbsampl-nlbsampl-xxxxxxxxxx-xxxxxxxxxxxxxxxx.elb.region- code.amazonaws.com:1 2345/dolphinScheduler/ui
16 .典型业务场景测试
17 .总结 在AWS平台上引入DolphinScheduler可以很好的对可视化任务调度的组件服务补充, 满足不同场景的数据任务调度需求,降低任务管理及日志告警的复杂度 利用AWS无服务器的数据库、存储、容器服务构建的Serverless DolphinScheduler 满足集群轻运维、高可扩展性
18 .Website: https://dolphinscheduler.apache.org GitHub:https://github.com/apache/dolphinscheduler Wehchat:海豚调度 Slack: https://s.apache.org/dolphinscheduler-slack Twitter : @dolphinschedule Video:https://space.bilibili.com/515596012
19 . T HA NKS ! Ending