巨鲸调度平台:Spark和Flink任务的全面管理

需积分: 40 10 下载量 10 浏览量 更新于2024-11-13 1 收藏 3.84MB ZIP 举报
资源摘要信息:"Big Whale是一个分布式计算任务调度系统,由美柚大数据研发。它主要负责处理与调度Spark、Flink等批处理任务,并对实时任务进行运行管理和状态监控。Big Whale具备多种功能,如Yarn应用管理、重复应用检测、大内存应用检测等,从而简化了分布式计算任务的管理流程。 在架构上,Big Whale采用了基于SSH的脚本执行机制,使得部署过程简单快捷,并且仅需单个服务即可完成。另外,它基于Yarn Rest Api实现任务状态同步,这一机制对Spark和Flink的应用版本没有限制。这样的设计让Big Whale支持分布式环境下的任务执行,具备任务失败重试、任务依赖管理以及复杂任务编排(DAG)等功能。 Big Whale的部署流程首先需要准备好Java开发环境(版本要求为1.8或更高)和Mysql数据库(版本要求为5.1.0或更高)。获取Big Whale项目的方式可以通过下载压缩包或者使用git clone命令。 Big Whale不仅仅是一个简单的任务调度器,它还提供了实时任务监控的功能。这意味着,对于那些使用Spark和Flink进行实时数据处理的用户来说,Big Whale不仅可以调度他们的批处理任务,还可以监控实时任务的运行状态,确保任务的顺畅进行和及时的问题反馈。这样的设计对于大数据处理和实时分析工作至关重要。 作为一个使用Spring Boot 2.0开发的服务,Big Whale打成包后即可运行,具有良好的封装性和可移植性。这一点对于现代运维环境来说十分友好,因为它降低了部署和维护的复杂度,使得开发者可以更专注于业务逻辑的实现。 综上所述,Big Whale为大数据处理工作提供了全面的支持,无论是在批处理任务的调度,还是实时任务的监控管理上,它都能够提供强大的功能和稳定的服务。随着大数据技术的不断发展和应用的深入,Big Whale作为一个支持Spark、Flink等主流大数据处理框架的调度和监控平台,未来的发展潜力巨大。"
2021-06-13 上传
Apache DolphinScheduler(incubator,原EasyScheduler)是一个大数据分布式工作流任务调度系统,主要解决大数据研发过程中ETL处理错综复杂的依赖关系,而不能直观监控任务健康状态等问题。DolphinScheduler以DAG流式的方式将Task组装起来,可实时监控任务的运行状态,同时支持重试、从指定节点恢复失败、暂停及Kill任务等操作。 设计特点:一个分布式易扩展的可视化DAG工作流任务调度系统。致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。 其主要目标如下: 1、以DAG图的方式将Task按照任务的依赖关系关联起来,可实时可视化监控任务的运行状态 2、支持丰富的任务类型:Shell、MR、Spark、SQL(mysql、postgresql、hive、sparksql),Python,Sub_Process、Procedure等 3、支持工作流定时调度、依赖调度、手动调度、手动暂停/停止/恢复,同时支持失败重试/告警、从指定节点恢复失败、Kill任务等操作 4、支持工作流优先级、任务优先级及任务的故障转移及任务超时告警/失败 5、支持工作流全局参数及节点自定义参数设置 6、支持资源文件的在线上传/下载,管理等,支持在线文件创建、编辑 7、支持任务日志在线查看及滚动、在线下载日志等 8、实现集群HA,通过Zookeeper实现Master集群和Worker集群去中心化 9、支持对Master/Worker cpu load,memory,cpu在线查看 10、支持工作流运行历史树形/甘特图展示、支持任务状态统计、流程状态统计 11、支持补数 12、支持多租户 13、支持国际化 14、还有更多等待伙伴们探索
2021-06-12 上传
巨鲸任务调度平台为美柚大数据研发的分布式计算任务调度系统,提供Spark、Flink等批处理任务的DAG执行调度和流处理任务的状态监测调度,并具有重复应用检测、大内存应用检测等功能。 服务基于Spring Boot 2.0开发,打包后即可运行。 环境准备: Java 1.8+ Mysql 5.1.0+ 安装: 1、创建数据库:big-whale 2、运行数据库脚本:big-whale.sql 3、根据Spring Boot环境,配置相关数据库账号密码,以及SMTP信息 4、配置:big-whale.properties 配置项说明 ssh.user: 拥有脚本执行权限的ssh远程登录用户名(平台会将该用户作为统一的脚本执行用户) ssh.password: ssh远程登录用户密码 dingding.enabled: 是否开启钉钉告警 dingding.watcher-token: 钉钉公共群机器人Token yarn.app-memory-threshold: Yarn应用内存上限(单位:MB),-1禁用检测 yarn.app-white-list: Yarn应用白名单列表(列表中的应用申请的内存超过上限,不会进行告警) 5、修改:$FLINK_HOME/bin/flink,参考:flink(因flink提交任务时只能读取本地jar包,故需要在执行提交命令时从hdfs上下载jar包并替换脚本中的jar包路径参数) 6、打包:mvn clean package 启动: 1、检查端口17070是否被占用,被占用的话,关闭占用的进程或修改项目端口号配置重新打包 2、拷贝target目录下的big-whale.jar,执行命令:java -jar big-whale.jar 初始配置 1、打开:http://localhost:17070 2、输入账号admin,密码admin 3、点击:权限管理->用户管理,修改当前账号的邮箱为合法且存在的邮箱地址,否则会导致邮件发送失败 4、添加集群 集群管理->集群管理->新增 “yarn管理地址”为Yarn ResourceManager的WEB UI地址 “程序包存储目录”为程序包上传至hdfs集群时的存储路径,如:/data/big-whale/storage “支持Flink任务代理用户”“流处理任务黑名单”和“批处理任务黑名单”为内部定制的任务分配规则,勿填 5、添加代理 集群管理->代理管理->新增 可添加多个实例(仅支持IP地址,可指定端口号,默认为22),执行脚本的时候会随机选择一个实例执行,在实例不可达的情况下,会继续随机选择下一个实例,在实例均不可达时执行失败 选择集群后,会作为该集群下提交Spark或Flink任务的代理之一 6、添加集群用户 集群管理->集群用户->新增 该配置的语义为:平台用户在所选集群下可以使用的Yarn资源队列(--queue)和代理用户(--proxy-user) 7、添加计算框架版本 集群管理->版本管理->新增 同一集群下不同版本的Spark或Flink任务的提交命令可能有所不同,如Spark 1.6.0版本的提交命令为spark-submit,Spark 2.1.0版本的提交命令为spark2-submit