如何在AWS上构建Apache DolphinScheduler
引言
随着云计算技术的发展,Amazon Web Services (AWS) 作为一个开放的平台,一直在帮助开发者更好的在云上构建和使用开源软件,同时也与开源社区紧密合作,推动开源项目的发展。
本文主要探讨2024年值得关注的一些开源软件及其在AWS上的应用情况,希望能够给大家参考使用!
2024年数据开源软件的趋势
这张图是根据海外的数据工程师总结的数据开源软件landscape,我们可以观察到一些关键的趋势:
数据存储与管理
国内软件的崛起:越来越多的中国开源软件在数据存储领域崛起,例如Pingcap、OceanBase和ShardingSphere。这些项目不仅由中国的社区主导,也得到了背后商业公司的大力支持。
存储系统:开源软件在数据存储或数据库系统方面依旧是讨论的热点,表明存储解决方案的重要性在不断增加。
数据湖与数据处理
- 数据湖技术:数据湖的构建和管理是近年来广泛讨论的主题,显示出企业对于整合不同来源数据的高需求。
DataOps
数据调度:传统工具如Airflow和Azkaban以及新兴的Apache DolphinScheduler,都在数据工作流和DataOps平台领域中被广泛使用。特别是Apache DolphinScheduler,近年来受到了开发者和企业的广泛关注。
数据集成工具:以 Apache SeaTunnel 等为代表的工具在数据处理和数据接入方面扮演着重要角色,帮助企业有效地管理和转换数据。
作为一个开放的云平台,AWS不仅提供技术支持,还积极与全球社区进行深度合作,帮助开发者和企业在云上构建和扩展他们的开源项目。
接下来我们总结一下开源软件为什么这么重要?是因为它们不仅提供了灵活性和创新的加速,而且还帮助企业优化成本并提高产品的健壮性。
开源软件的四大优势
灵活性和可定制性
开源软件的一个主要优点是其灵活性和高度的可定制性。因为源码直接掌握在开发者或客户手中,用户可以根据自己企业的特定需求来修改和优化软件,使其更加符合自己的业务场景。
加速创新
从流式数据处理到数据仓库和湖仓一体化,再到DataOps和人工智能,许多创新技术都是首先在开源社区中提出并发展起来的。关注开源软件,就是紧跟创新的步伐。
成本优化
无论是传统IDC机房的客户还是在云上有较大规模的客户,他们都关注如何优化成本。开源软件提供了一种降低商业软件成本、优化资源使用的有效途径,帮助企业减轻经济负担。
社区里边有一句名言“社区重于代码”,一个开源项目的的成功不仅仅是代码的产出,而是整个社区生态的繁荣,开源软件通常拥有活跃的社区支持,代码和功能不断迭代和更新。像Apache DolphinScheduler这样的项目,其成为Apache基金会顶级项目证明了其在代码质量、功能成熟度和社区活跃度等多个维度的高标准。社区的活跃不仅仅体现在代码产出上,更重要的是社区的建设和生态的完善。
我们刚才讲到帮助我们的开发者在云上去构建开源软件,那AWS能提供给开发者什么样的内容,帮助开发者做哪些东西?
数据分析服务
数据接入和处理
首先我们可以看一下下面这张图,这张图是亚马逊云科技数据分析的服务的一个整体介绍,这里边会去按照像刚才的开源项目的一些分类,就是我们把从数据接入、数据处理、数据湖再到数据分析,还有一些结合 AI 模型 learning 的一些服务,做了一个分类。
AWS为数据接入和处理提供了多种服务:
实时处理:利用完全托管的Flink服务,即Amazon Kinesis,为实时数据流提供强大支持。
批处理和离线处理:通过Data Firehouse等服务支持批量离线数据处理,这些服务的底层技术部分源自开源社区。
数据湖和数据分析
AWS不仅支持数据存储和管理,还提供了强大的数据分析工具:
Amazon Glue:作为一个完整的托管ETL服务,Glue支持数据准备和加载工作,使得数据分析工作变得更加高效。
Amazon EMR:提供了一个可扩展的Apache Hadoop框架来分析大规模数据集。
DolphinScheduler的集成
为了满足更广泛的客户需求,在数据解决方案中引入了Apache DolphinScheduler::
调度和工作流管理:DolphinScheduler与AWS服务如Amazon Kinesis和Amazon EMR集成,为开发者提供了强大的数据调度能力。
定制化任务调度:开发者可以通过DolphinScheduler定制EMR作业的参数,使任务调度更加灵活和高效。
当然我们通过链接社区的反馈,不断调整其服务以更好地服务于用户。
例如,基于用户反馈,AWS持续优化DolphinScheduler的集成,比如说现在已经集成了EMR,在 DolphinScheduler 的一个Task怎么去调度?EMR 的里面的一些参数能不能定制化,或者是做参数传递,或者是有一些更好地去更或者更方便的形式用 DolphinScheduler 去很好地去调度EMR提供更灵活的任务调度选项。
其实大部分用户都是基于开源软件,然后做了很多的二次开发,然后帮助客户更快地去实现他们的业务价值,AWS通过与开源软件的深度结合,开发了多种服务和解决方案以满足不同客户的需求:
数据接入与处理:利用如Amazon Kinesis和Data Firehouse等服务,AWS结合开源项目如Apache Flink,提供实时与批量数据处理能力。
数据存储优化:通过开源软件如ClickHouse、Apache Hudi和Apache Iceberg等,这些软件能够直接利用AWS的对象存储服务S3,为数据湖等应用提供支持。
存储服务的云原生优化
AWS不仅在功能上进行优化,还通过云原生技术确保存储服务的高效与成本效益:
对象存储S3:作为业界标准,S3为大量开源软件提供了可靠的底层存储支持。
弹性块存储EBS:EBS支持高性能的服务器挂载,适用于需要高吞吐量和低延迟的应用场景。
高效的成本管理
成本优化:AWS通过提供高性能的存储服务如新一代EBS,帮助客户降低存储成本。
原生备份服务:AWS的备份服务为数据提供了额外的安全保障,同时优化了数据恢复的成本和时间。
AWS负载均衡服务
AWS的负载均衡服务提供以下关键功能:
多协议支持:支持多种协议,确保不同场景下的负载均衡需求得到满足。
基于流量的收费模式:此服务基于流量收费,为开源项目提供成本优势,特别是在流量波动大的应用场景下。
加密协议支持:原生支持加密协议,增强了数据传输的安全性。
弹性和可扩展性
通过AWS负载均衡,开源软件能够更好地应对访问量的波动,自动调整资源以保持高性能和稳定性。
Serverless的优势
对于依赖数据库的开源调度工具(如DolphinScheduler),选择合适的数据库配置是一个挑战。AWS的Serverless数据库服务提供了灵活的解决方案:
自动化的资源管理:Serverless架构允许数据库自动根据负载调整计算资源,无需人工干预。
弹性扩缩容:支持快速扩容和缩容,响应时间可以达到秒级,非常适合需求波动大的场景。
计算单元的粒度:最小计算单元为0.5 ACU(含2GB内存),允许精细控制资源使用,优化成本。
场景应用
在高峰期,如夜间数据处理作业增多时,Serverless数据库能够自动增加资源,确保数据库性能满足需求。这种模式为开发者节省了显著的资源预算,并简化了数据库的管理工作。
我们希望通过利用AWS的负载均衡和Serverless数据库服务,开源软件项目可以获得更高的弹性、安全性和成本效率。
容器服务
容器技术已成为支持分布式系统的关键技术,海豚调度恰恰是分布式架构,AWS的Elastic Kubernetes Service (EKS) 提供了一个完全托管的Kubernetes服务,帮助开发者轻松部署和管理容器化应用。
AWS EKS的核心优势
AWS EKS允许用户在几分钟内部署一个完全兼容Kubernetes的集群,极大地简化了容器集群的设置和管理过程。
EKS保证与开源Kubernetes社区的100%兼容性,确保任何标准的Kubernetes应用都可以无缝迁移至AWS。
EKS集成了多种AWS服务,包括但不限于AWS的负载均衡和自动扩缩容服务,这些服务增强了开源软件的性能和可观测性。
Data On EKS(DoEKS)解决方案
DoEKS是一个由AWS架构师团队开发的开源项目,它旨在提供一个一键部署解决方案,使开发者能够快速在EKS上部署流行的开源软件,如Spark和Flink。
功能与优势
一键部署:用户可以通过执行一个脚本快速启动一个完整的开源软件集群。
降低技术门槛:DoEKS项目简化了传统的开源软件部署流程,从而让开发者可以避免复杂的安装和配置步骤。
应用场景无论是AI模型学习、数据分析还是大数据处理,DoEKS都提供了快速和高效的部署选项,帮助开发者专注于业务逻辑而非底层基础设施。
AWS EKS和DoEKS项目为开源社区提供了强大的支持,甚至是可以一键执行脚本,直接把这个开源组件拉起来,使得开发者可以更加便捷地部署和管理分布式系统。
数据采集与处理
Kafka on EKS: 完全托管的服务,用于处理大规模的实时数据流。
Flink & Spark on EKS: 提供实时和批量数据处理能力,已与EKS完美集成,支持高效的数据分析任务。
DolphinScheduler on EKS: 我们计划提供调度和工作流管理,使任务自动化和优化更加容易。
一键部署与管理
DolphinScheduler: 已开发出专门的一键部署解决方案和指导文档,帮助用户快速在EKS上部署并管理DolphinScheduler。
ECR镜像版本管理: 提供操作指南,帮助管理和维护DolphinScheduler及其他开源软件的容器镜像版本。
Serverless 计算与ELB
Serverless 解决方案: 主要以Serverless计算为目标,提供无需管理服务器的高性能计算选项,特别适用于弹性需求高的应用。
Elastic Load Balancing (ELB): 支持多种协议,提供弹性扩缩容操作,确保应用在不同负载下的高可用性和性能。
综合解决方案
解决方案地图: 涵盖从数据集成到数据湖的全方位解决方案,例如利用Kafka Connect集成数据至Redshift数据仓或数据湖。
Apche Paimon与AWS Glue: 结合使用Apche Paimon和AWS Glue进行数据湖建设,提供全面的数据管理解决方案。
对于海豚调度我们也做了很多内容。比如说像刚才提到的 AWS 部署无服务器的 DolphinScheduler,我们就提供了一个无服务器的在 EKS 上快速部署的解决方案。然后还有包括 EMR Serverless,还有我们有客户或者有客户也跟我们一起合作了,帮助我们的开发者或者用户实现这种精确的监控或者是成本优化。
监控和运维支持
AWS不仅关注软件的部署和性能优化,还提供一系列监控和告警解决方案,帮助客户有效管理云上资源:
可观测性:AWS提供工具和服务来监控云组件的性能,确保系统的可靠性和效率。
安全和权限管理:结合先进的权限管理策略,AWS加强了数据和应用的安全性。
AWS Marketplace的第三方产品支持
- 订阅服务:在AWS Marketplace,用户可以轻松订阅第三方提供的产品,如商业版的DolphinScheduler,进一步简化了软件的获取和部署过程。
AWS的架构师团队也致力于为客户提供最佳的架构选择和优化建议,确保云上开源软件的高性能和可扩展性。
社区贡献和生态发展
社区参与:AWS积极参与开源社区,不仅贡献代码,还分享案例和最佳实践,促进开源软件的发展和创新。
技术探讨和解决方案分享:通过公开讨论和技术分享,AWS帮助开发者更好地理解和应用最新的云技术。
云原生服务和操作指南
AWS不仅提供基础的虚拟机服务,还通过云原生技术和详细的操作指南帮助客户构建和优化业务流程:
- Workshops和指导:AWS定期举办Workshop,提供实操指导,帮助客户充分利用云平台的潜力。
结论
AWS致力于成为企业使用和构建开源软件的首选平台。通过提供强大的服务、解决方案和社区支持,AWS确保客户能够在全球范围内顺利实施和扩展他们的业务。最后希望本文的分享对大家有所帮助。
延展阅读:使用 Apache DolphinScheduler 构建和部署大数据平台,将任务提交至 AWS 的实践经验
本文由 白鲸开源科技 提供发布支持!
相关文章:

如何在AWS上构建Apache DolphinScheduler
引言 随着云计算技术的发展,Amazon Web Services (AWS) 作为一个开放的平台,一直在帮助开发者更好的在云上构建和使用开源软件,同时也与开源社区紧密合作,推动开源项目的发展。 本文主要探讨2024年值得关注的一些开源软件及其在…...

Quartus II 13.1添加新的FPGA器件库
最近需要用到Altera的一款MAX II 系列EPM240的FPGA芯片,所以需要给我的Quartus II 13.1添加新的器件库,在此记录一下过程。 1 下载所需的期间库 进入Inter官网,(Altera已经被Inter收购)https://www.intel.cn/content…...
【html】html的基础知识(面试重点)
一、如何理解HTML语义化 1、思考 A、在没有任何样式的前提下,将代码在浏览器打开,也能够结构清晰的展示出来。标题是标题、段落是段落、列表是列表。 B、便于搜索引擎优化。 2、参考答案 A、让人更容易读懂(增加代码可读性)。 B、…...

Java 网络编程(TCP编程 和 UDP编程)
1. Java 网络编程(TCP编程 和 UDP编程) 文章目录 1. Java 网络编程(TCP编程 和 UDP编程)2. 网络编程的概念3. IP 地址3.1 IP地址相关的:域名与DNS 4. 端口号(port)5. 通信协议5.1 通信协议相关的…...
STM32 | 看门狗+RTC源码解析
点击上方"蓝字"关注我们 作业 1、使用基本定时7,完成一个定时喂狗的程序 01、上节回顾 STM32 | 独立看门狗+RTC时间(第八天)02、定时器头文件 #ifndef __TIM_H#define __TIM_H#include "stm32f4xx.h"void Tim3_Init(void);void Tim7_Init(void);…...

filebeat,kafka,clickhouse,ClickVisual搭建轻量级日志平台
springboot集成链路追踪 springboot版本 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.6.3</version><relativePath/> <!-- lookup parent from…...
Django实战项目之进销存数据分析报表——第一天:Anaconda 环境搭建
引言 Anaconda是一个流行的Python和R语言的发行版,它包含了大量预安装的数据科学、机器学习库和科学计算工具。使用Anaconda可以轻松地创建隔离的环境,每个环境都可以有自己的一套库和Python版本,非常适合多项目开发。本文将指导你如何安装A…...

Linux部署Prometheus+Grafana
【Linux】PrometheusGrafana 一、Prometheus(普罗米修斯)1、Prometheus简述2、Prometheus特点3、Prometheus生态组件4、Prometheus工作原理 二、部署Prometheus1、系统架构2、部署Prometheus3、修改配置文件4、配置系统启动文件 三、部署 Node Exporter …...

【视频讲解】神经网络、Lasso回归、线性回归、随机森林、ARIMA股票价格时间序列预测|附代码数据
全文链接:https://tecdat.cn/?p37019 分析师:Haopeng Li 随着我国股票市场规模的不断扩大、制度的不断完善,它在金融市场中也成为了越来越不可或缺的一部分。 【视频讲解】神经网络、Lasso回归、线性回归、随机森林、ARIMA股票价格时间序列…...
低代码前端框架Amis全面教程
什么是Amis? 1.1 Amis的基本概念 Amis是一个基于JSON配置的前端低代码框架,由百度开源。它允许开发者通过简单的JSON配置文件来生成复杂的后台管理页面,从而大大减少了前端开发的工作量。Amis的核心理念是通过配置而非编码来实现页面的构建…...

Windows 如何安装和卸载 OneDrive?具体方法总结
卸载 OneDrive 有人想问 OneDrive 可以卸载吗?如果你不使用当然可以卸载,下面是安装和卸载 OneDrive 中的卸载应用具体操作步骤: 卸载 OneDrive 我们可以从设置面板中的应用选项进行卸载,打开设置面板之后选择应用,然…...

c# .net core中间件,生命周期
某些模块和处理程序具有存储在 Web.config 中的配置选项。但是在 ASP.NET Core 中,使用新配置模型取代了 Web.config。 HTTP 模块和处理程序如何工作 官网地址: 将 HTTP 处理程序和模块迁移到 ASP.NET Core 中间件 | Microsoft Learn 处理程序是…...

Spring后端框架复习总结
之前写的博客太杂,最近想把后端框架的知识点再系统的过一遍,主要是Spring Boot和Mybatis相关,带着自己的理解使用简短的话把一些问题总结一下,尤其是开发中和面试中的高频问题,基础知识点可以参考之前写java后端专栏,这篇不再赘述。 目录 Spring什么是AOP?底层原理?事务…...

基于Llama Index构建RAG应用
前言 Hello,大家好,我是GISer Liu😁,一名热爱AI技术的GIS开发者,本文参与活动是2024 DataWhale AI夏令营;😲 在本文中作者将通过: Gradio、Streamlit和LlamaIndex介绍 LlamaIndex 构…...
SSLRec代码分析
文章目录 encoder-models-general_cfautocf.py data_utilsdata_handler_general_cf.py输入输出说明使用方法 trainertuner.py encoder-models-general_cf autocf.py import torch as t # 导入PyTorch并重命名为t from torch import nn # 从PyTorch导入神经网络模块 import …...
第四节shell条件测试(1)(2)
一,命令执行结果判定 &&在命令执行后如果没有任何报错时会执行符号后面的动作 ||在命令执行后如果命令有报错会执行符号后的动作 示例: vim lee.sh #!/bin/bash ls /mnt/file &> /dev/null &&{echo /mnt/filr is not existecho no }||{echo /mnt/fi…...

申请https证书的具体流程
申请HTTPS证书的具体流程通常涉及以下步骤,不过请注意,具体细节可能因不同的证书颁发机构(CA)而有所差异: 1、确定证书类型: 证书类型:根据需求选择合适的SSL证书类型。常见的有DV(…...

IP溯源工具--IPTraceabilityTool
工具地址:xingyunsec/IPTraceabilityTool: 蓝队值守利器-IP溯源工具 (github.com) 工具介绍: 在攻防演练期间,对于值守人员,某些客户要求对攻击IP都进行分析溯源,发现攻击IP的时候,需要针对攻击IP进行分析…...

字节抖音电商 后端开发岗位 一面
笔者整理答案,以供参考 自我介绍 项目(20分钟) RocketMQ延时消息的底层实现 回答: 延时消息的实现主要依赖于RocketMQ中的定时任务机制。消息被发送到Broker时,会先存储在一个特定的延时消息队列中。Broker会定时扫…...

前端开发日记——在MacBook上配置Vue环境
前言 大家好,我是来自CSDN的寄术区博主PleaSure乐事。今天是开始学习vue的第一天,我使用的编译器是vscode,浏览器使用的是谷歌浏览器,后续会下载webstorm进行使用,当前学习阶段使用vscode也是可以的,不用担…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...

企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配
目录 一、C 内存的基本概念 1.1 内存的物理与逻辑结构 1.2 C 程序的内存区域划分 二、栈内存分配 2.1 栈内存的特点 2.2 栈内存分配示例 三、堆内存分配 3.1 new和delete操作符 4.2 内存泄漏与悬空指针问题 4.3 new和delete的重载 四、智能指针…...
4. TypeScript 类型推断与类型组合
一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式,自动确定它们的类型。 这一特性减少了显式类型注解的需要,在保持类型安全的同时简化了代码。通过分析上下文和初始值,TypeSc…...
为什么要创建 Vue 实例
核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...

TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?
在工业自动化持续演进的今天,通信网络的角色正变得愈发关键。 2025年6月6日,为期三天的华南国际工业博览会在深圳国际会展中心(宝安)圆满落幕。作为国内工业通信领域的技术型企业,光路科技(Fiberroad&…...