文章目录

赫拉

大数据平台,随着业务发展,每天承载着成千上万的ETL任务调度,这些任务集中在hive,shell脚本调度。怎么样让大量的ETL任务准确的完成调度而不出现问题,甚至在任务调度执行中出现错误的情况下,任务能够完成自我恢复甚至执行错误告警与完整的日志查询。hera任务调度系统就是在这种背景下衍生的一款分布式调度系统。随着hera集群动态扩展,可以承载成千上万的任务调度。它是一款原生的分布式任务调度,可以快速的添加部署wokrer节点,动态扩展集群规模。支持shell,hive,spark脚本调度,可以动态的扩展支持python等服务器端脚本调度。

​项目地址:git@gitee.com:dfire/hera.git​

​赫拉(hera)分布式任务调度系统之架构,基本功能(一)​

​赫拉(hera)分布式任务调度系统之项目启动(二)​

​赫拉(hera)分布式任务调度系统之开发中心(三)​

​赫拉(hera)分布式任务调度系统之版本(四)​

​赫拉(hera)分布式任务调度系统之Q&A(五)​

简介

开发中心,顾名思义。我们进行开发的地方(当然我们也可以直接在调度中心加任务,建议任务首先在开发中心测试,通过之后再加到调度中心)。

​项目地址:git@gitee.com:scx_white/hera.git​

目录介绍

赫拉(hera)分布式任务调度系统之开发中心(三)_jar


如图所示,开发中心有两个文件夹。分别是​​个人文档​​​、​​共享文档​​。这两个文件夹不允许删除。

  • 个人文档
    提供给账户登录者使用的,私人目录可以在这里创建,执行任务时的用户,以创建者为准
  • 共享文档
    文件夹内的脚本对所有用户可见,执行时任务的用户以实际的登录者为准

创建一个脚本

鼠标放在个人中心,然后点击鼠标右键选择新建shell脚本。

赫拉(hera)分布式任务调度系统之开发中心(三)_任务调度_02

然后在​​编辑区​​​写入要执行的脚本内容​​点击执行​​即可

赫拉(hera)分布式任务调度系统之开发中心(三)_hdfs_03

此时在​​编辑区​​​下方会有当前​​执行任务​​​的​​日志信息​​输出

赫拉(hera)分布式任务调度系统之开发中心(三)_hdfs_04

当然也可以通过点击下方​​历史日志​​看所有日志信息。

赫拉(hera)分布式任务调度系统之开发中心(三)_hera分布式任务调度系统_05

执行选中的代码

我们可以通过在​​编辑区​​​使用鼠标​​选中​​​我们要​​执行的代码​​​,然后点击​​执行选中代码​​即可

赫拉(hera)分布式任务调度系统之开发中心(三)_任务调度_06

上传资源

当需要上传资源(​​py, jar, sql, hive, sh, js, txt, png, jpg, gif​​​等等)时要注意,要保证我们的​​master​​​和​​work​​​有​​hadoop​​​环境,能够执行​​hadoop fs -copyFromLocal​​命令。

上传完资源后。

赫拉(hera)分布式任务调度系统之开发中心(三)_任务调度_07

最上方会返回该资源文件的使用地址。

/hera/hdfs-upload-dir/hera-20181229-110455.sql

如果我们是使用​​spark-submit​​​ 或者​​hive udf​​​ 的 ​​add jar​​​ 命令,直接加上​​hadoop​​路径即可。

比如:

add jar hdfs:///hera/hive_custom_udf/2dfire-hivemr-log.jar;

或者:

spark2-submit --class com.dfire.start.App \
--jars hdfs:///spark-jars/common/binlog-hbase-1.1.jar \

当然如果是一些python脚本,或者txt。我们需要下载下来执行的。就需要执行

download[hdfs:///hera/hdfs-upload-dir/hera-20181229-110455.sql hera.sql]

启动​​download​​​为​​hera​​​的定制命令。​​[]​​​分为两部分,使用​​空格​​​分开。空格左部分为​​hdfs文件的路径​​​,空格右部分为​​重命名后的文件名​​。

赫拉(hera)分布式任务调度系统之开发中心(三)_hera分布式任务调度系统_08

同步任务

暂未开发

脚本自动保存

当在开发中心写脚本时,脚本会自动保存。当然也可以通过点击保存脚本进行手动保存。

加入群聊

赫拉(hera)分布式任务调度系统之开发中心(三)_hera分布式任务调度系统_09