请参照快速上手
项目首页其中包含任务状态统计,流程状态统计、流程定义统计、队列统计、命令统计
- 任务状态统计:是指在指定时间范围内,统计任务实例中的待运行、失败、运行中、完成、成功的个数
- 流程状态统计:是指在指定时间范围内,统计流程实例中的待运行、失败、运行中、完成、成功的个数
- 流程定义统计:是统计该用户创建的流程定义及管理员授予该用户的流程定义
- 队列统计: worker执行队列统计,待执行的任务和待杀掉的任务个数
- 命令统计: 执行命令个数统计
填写"自定义参数",参考自定义参数
增加节点之间执行的先后顺序: 点击”线条连接“;如图示,任务1和任务3并行执行,当任务1执行完,任务2、3会同时执行。
删除依赖关系: 点击箭头图标”拖动节点和选中项“,选中连接线,点击删除图标,删除节点间依赖关系。
点击”保存“,输入流程定义名称,流程定义描述,设置全局参数。
"下线"工作流之前,要先将定时管理的定时下线,才能成功下线工作流定义
点击”运行“,执行工作流。运行参数说明:
补数: 执行指定日期的工作流定义,可以选择补数时间范围(目前只支持针对连续的天进行补数),比如要补5月1号到5月10号的数据,如图示:
补数执行模式有串行执行、并行执行,串行模式下,补数会从5月1号到5月10号依次执行;并行模式下,会同时执行5月1号到5月10号的任务。
选择起止时间,在起止时间范围内,定时正常工作,超过范围,就不会再继续产生定时工作流实例了。
添加一个每天凌晨5点执行一次的定时,如图示:
定时上线,新创建的定时是下线状态,需要点击“定时管理->上线”,定时才能正常工作。
点击“工作流实例”,查看流程实例列表。
点击工作流名称,查看任务执行状态。
点击任务节点,点击“查看日志”,查看任务执行日志。
点击任务实例节点,点击查看历史,可以查看该流程实例运行的该任务实例列表
<img src="https://analysys.github.io/EasyScheduler/zh_CN/images/task_history.png" width="60%" />
对工作流实例的操作:
kill
,再执行kill -9
操作
点击“任务实例”,进入任务列表页,查询任务执行情况
点击操作列中的“查看日志”,可以查看任务执行的日志情况。
数据源中心支持MySQL、POSTGRESQL、HIVE及Spark等数据源
点击“数据源中心->创建数据源”,根据需求创建不同类型的数据源。
数据源:选择MYSQL
数据源名称:输入数据源的名称
描述:输入数据源的描述
IP/主机名:输入连接MySQL的IP
端口:输入连接MySQL的端口
用户名:设置连接MySQL的用户名
密码:设置连接MySQL的密码
数据库名:输入连接MySQL的数据库名称
Jdbc连接参数:用于MySQL连接的参数设置,以JSON形式填写
点击“测试连接”,测试数据源是否可以连接成功。
1.使用HiveServer2方式连接
<img src="https://analysys.github.io/easyscheduler_docs_cn/images/hive_edit.png" width="60%" />
2.使用HiveServer2 HA Zookeeper方式连接
<img src="https://analysys.github.io/easyscheduler_docs_cn/images/hive_edit2.png" width="60%" />
conf/common/common.properties
-- hdfs.startup.state=true
conf/common/hadoop.properties
-- fs.defaultFS=hdfs://xxxx:8020
-- yarn.resourcemanager.ha.rm.ids=192.168.xx.xx,192.168.xx.xx
-- yarn.application.status.address=http://xxxx:8088/ws/v1/cluster/apps/%s
是对各种资源文件的管理,包括创建基本的txt/log/sh/conf等文件、上传jar包等各种类型文件,以及编辑、下载、删除等操作。
![]()
上传文件:点击上传按钮进行上传,将文件拖拽到上传区域,文件名会自动以上传的文件名称补全
对可查看的文件类型,点击 文件名称 可以查看文件详情
可以在 文件详情 中点击右上角下载按钮下载文件,或者在文件列表后的下载按钮下载文件
文件列表->点击"删除"按钮,删除指定文件
资源管理和文件管理功能类似,不同之处是资源管理是上传的UDF函数,文件管理上传的是用户程序,脚本及配置文件
目前只支持HIVE的临时UDF函数
<img src="https://analysys.github.io/easyscheduler_docs_cn/images/addtenant.png" width="60%" />
<img src="https://analysys.github.io/easyscheduler_docs_cn/images/mail_edit.png" width="60%" />
<img src="https://analysys.github.io/easyscheduler_docs_cn/images/worker1.png" width="60%" />
/**
* test token
*/
public void doPOSTParam()throws Exception{
// create HttpClient
CloseableHttpClient httpclient = HttpClients.createDefault();
// create http post request
HttpPost httpPost = new HttpPost("http://127.0.0.1:12345/escheduler/projects/create");
httpPost.setHeader("token", "123");
// set parameters
List<NameValuePair> parameters = new ArrayList<NameValuePair>();
parameters.add(new BasicNameValuePair("projectName", "qzw"));
parameters.add(new BasicNameValuePair("desc", "qzw"));
UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(parameters);
httpPost.setEntity(formEntity);
CloseableHttpResponse response = null;
try {
// execute
response = httpclient.execute(httpPost);
// eponse status code 200
if (response.getStatusLine().getStatusCode() == 200) {
String content = EntityUtils.toString(response.getEntity(), "UTF-8");
System.out.println(content);
}
} finally {
if (response != null) {
response.close();
}
httpclient.close();
}
}
注意:对于用户自己创建的项目,该用户拥有所有的权限。则项目列表和已选项目列表中不会体现
1.点击指定人的授权按钮,如下图:
2.选中项目按钮,进行项目授权
依赖节点提供了逻辑判断功能,比如检查昨天的B流程是否成功,或者C流程是否执行成功。
例如,A流程为周报任务,B、C流程为天任务,A任务需要B、C任务在上周的每一天都执行成功,如图示:
假如,周报A同时还需要自身在上周二执行成功:
spark-submit
方式提交任务
注意:JAVA和Scala只是用来标识,没有区别,如果是Python开发的Spark则没有主函数的class,其他都是一样
hadoop jar
方式提交任务<img src="https://analysys.github.io/easyscheduler_docs_cn/images/mr_java.png" width="60%" />
python **
方式提交任务。
变量 | 含义 |
---|---|
${system.biz.date} | 日常调度实例定时的定时时间前一天,格式为 yyyyMMdd,补数据时,该日期 +1 |
${system.biz.curdate} | 日常调度实例定时的定时时间,格式为 yyyyMMdd,补数据时,该日期 +1 |
${system.datetime} | 日常调度实例定时的定时时间,格式为 yyyyMMddHHmmss,补数据时,该日期 +1 |
支持代码中自定义变量名,声明方式:${变量名}。可以是引用 "系统参数" 或指定 "常量"。
我们定义这种基准变量为 $[...] 格式的,$[yyyyMMddHHmmss] 是可以任意分解组合的,比如:$[yyyyMMdd], $[HHmmss], $[yyyy-MM-dd] 等
也可以这样:
用户自定义参数分为全局参数和局部参数。全局参数是保存流程定义和流程实例的时候传递的全局参数,全局参数可以在整个流程中的任何一个任务节点的局部参数引用。
例如:
global_bizdate为全局参数,引用的是系统参数。
任务中local_param_bizdate通过${global_bizdate}来引用全局参数,对于脚本可以通过${local_param_bizdate}来引用变量local_param_bizdate的值,或通过JDBC直接将local_param_bizdate的值set进去