oozie 重新提交作业

简介: 在oozie的运行过程当中可能会出现错误,比如数据库连接不上,或者作业执行报错导致流程进入suspend或者killed状态,这个时候我们就要分析了,如果确实是数据或者是网络有问题,我们比如把问题解决了才可以重新运行作业。
在oozie的运行过程当中可能会出现错误,比如数据库连接不上,或者作业执行报错导致流程进入suspend或者killed状态,这个时候我们就要分析了,如果确实是数据或者是网络有问题,我们比如把问题解决了才可以重新运行作业。重新运行作业分两种情况,suspend状态和killed状态的,这两种状态是要通过不同的处理方式来处理的。
(1) suspend状态的我们可以用resume方式来在挂起的地方恢复作业,重新运行,或者是先杀掉它,让它进入killed状态,再进行重新运行。
public static void resumeJob(String jobId) {
        try {
            OozieClient wc = new OozieClient("http://192.168.1.133:11000/oozie");
            wc.resume(jobId);
        } catch (OozieClientException e) {
            log.error(e);
        }
    }
    public static void killJob(String jobId) {
        try {
            OozieClient wc = new OozieClient("http://192.168.1.133:11000/oozie");
            wc.kill(jobId);
        } catch (OozieClientException e) {
            log.error(e);
        }
    }
(2) killed状态的重新运行方法和它不一样,下面先贴出代码。
public static void reRunJob(String jobId, Properties conf) {
        OozieClient wc = new OozieClient("http://192.168.1.133:11000/oozie");
        try {
            Properties properties = wc.createConfiguration();
            properties.setProperty("nameNode", "hdfs://192.168.1.133:9000");
            properties.setProperty("queueName", "default");
            properties.setProperty("examplesRoot", "examples");
            properties
                    .setProperty("oozie.wf.application.path",
                            "${nameNode}/user/cenyuhai/${examplesRoot}/apps/map-reduce");
            properties.setProperty("outputDir", "map-reduce");
            properties.setProperty("jobTracker", "http://192.168.1.133:9001");
            properties.setProperty("inputDir",
                    "/user/cenyuhai/examples/input-data/text");
            properties.setProperty("outputDir",
                    "/user/cenyuhai/examples/output-data/map-reduce");
            properties.setProperty("oozie.wf.rerun.failnodes", "true");
            //这两个参数只能选一个,第一个是重新运行失败的节点,第二个是需要跳过的节点
            // properties.setProperty("oozie.wf.rerun.skip.nodes", ":start:");
            wc.reRun(jobId, properties);
        } catch (OozieClientException e) {
            log.error(e);
        }
    }
好,现在开始讲解,重新运行作业,除了需要原有流程的id之外,还需要重新配置作业属性,它可以和原来的属性不一样,这里面有两个属性是必须要注意的,它们是重新提交作业必须具备的属性,如果不存在就会报错的,它们分别是oozie.wf.rerun.failnodes和oozie.wf.rerun.skip.nodes。这两个必须必须存在一个,第一个是自动运行失败的流程节点,第二个是需要跳过的节点,通过设置这个属性的话,如果已经运行成功的节点不在这个属性里面的话就可以让已经运行成功的节点再运行一遍了,爽吧!
好啦,就到这吧,oozie貌似就这么多东西了,目前貌似一直都没有看到它的事务机制,它的定时作业不太想研究,看着就费劲儿,还不如自己写一个定时作业呢。。。
目录
相关文章
|
流计算 Java 监控
如何分析及处理 Flink 反压?
反压(backpressure)是实时计算应用开发中,特别是流式计算中,十分常见的问题。反压意味着数据管道中某个节点成为瓶颈,处理速率跟不上上游发送数据的速率,而需要对上游进行限速。
如何分析及处理 Flink 反压?
|
NoSQL 索引 MongoDB
利用MongoDB的SplitVector命令实现并发数据迁移
数据迁移是数据库运维中一个很常见的场景。数据迁移分为全量和增量。为了追求速度,通常我们会采用并发的方式对数据进行全量迁移。在全量导出数据时,通常都会选择做到记录级的并发,因此通常会涉及到对需要导出的某个表(集合)按照并发度进行切分(分区)的过程。现有常用做法是通过若干个skip加limit来找到一些分区点,然后就可以并发同时导出多个分区。事实上MongoDB还有一个SplitVector命令特别适合用来做集合的分区。本文将介绍一下如何利用这个命令来对集合做分区,实现并发数据迁移。
6909 0
|
12月前
|
人工智能 分布式计算 数据管理
阿里云位居 IDC MarketScape 中国实时湖仓评估领导者类别
国际数据公司( IDC )首次发布了《IDC MarketScape: 中国实时湖仓市场 2024 年厂商评估》,阿里云在首次报告发布即位居领导者类别。
遥感数据趋势分析Sen+mk
Sen's Slope估计器和Mann-Kendall趋势检验的结合,为遥感数据的长期趋势分析提供了一个强大的工具。Sen's Slope对异常值不敏感,而Mann-Kendall则能确定趋势的显著性和方向。在遥感数据的处理和分析中,正确应用这两种方法能够有效地挖掘出数据背后的环境和气候变化信息,对于科学研究和决策支持都具有重要价值。
514 3
|
并行计算 前端开发 JavaScript
【修正版】QPS、TPS、RT、并发数、吞吐量理解和性能优化深入思考
在了解qps、tps、rt、并发数之前,首先我们应该明确一个系统的吞吐量到底代表什么含义,一般来说,系统吞吐量指的是系统的抗压、负载能力,代表一个系统每秒钟能承受的最大用户访问量。
5951 1
【修正版】QPS、TPS、RT、并发数、吞吐量理解和性能优化深入思考
|
分布式计算 关系型数据库 MySQL
Sqoop【部署 01】CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
【2月更文挑战第8天】Sqoop CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
630 1
|
11月前
业务增量数据入仓以及增全量合并工作
增量数据入库与增量全合并工作
371 1
|
11月前
|
消息中间件 Kafka 流计算
FlinkKafkaConsumer相同group.id多个任务消费kafka问题
当使用FlinkKafkaConsumer消费Kafka时,即使设置了相同的group.id,由于Flink内部管理partition的消费offset,两个程序仍能同时消费所有数据。这与KafkaConsumer不同,后者严格遵循消费组隔离原则,避免重复消费同一分区的数据。Flink为实现exactly-once语义,需要独立管理offset,这导致了上述现象。
|
12月前
|
SQL 存储 数据管理
Hadoop-15-Hive 元数据管理与存储 Metadata 内嵌模式 本地模式 远程模式 集群规划配置 启动服务 3节点云服务器实测
Hadoop-15-Hive 元数据管理与存储 Metadata 内嵌模式 本地模式 远程模式 集群规划配置 启动服务 3节点云服务器实测
173 2
|
SQL 消息中间件 Kafka
实时计算 Flink版产品使用问题之水位线的设置方法是什么
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。