如何在苍鹭中实现自定义调度程序



我已经阅读了有关Implementing a Custom SchedulerHeron Documents。而且我知道我应该实现一些接口来实现自定义调度程序,例如ILauncherIPackingISchedulerIUploader

我已经意识到了实现IScheduler接口的CustomScheduler,我想与我的自定义调度程序一起使用LocalLauncherLocalUploaderdefault Packing algorithm

更重要的是,我修改了位于conf/local/上的名为scheduler.yaml的苍鹭配置文件,用于使用自定义调度程序。同时,我将CustomScheduler.jar添加到heron-core/lib/scheduler/。但是,如日志所示,有问题:

[2018-04-15 20:44:27 -0700] [STDERR] stderr: Exception in thread "main"   
[2018-04-15 20:44:27 -0700] [STDERR] stderr: com.twitter.heron.spi.scheduler.SchedulerException: Failed to instantiate scheduler using class 'com.zyt.heron.custom.scheduler.CustomScheduler'  
[2018-04-15 20:44:27 -0700] [STDERR] stderr:    at com.twitter.heron.scheduler.utils.LauncherUtils.getSchedulerInstance(LauncherUtils.java:120)  
[2018-04-15 20:44:27 -0700] [STDERR] stderr:    at com.twitter.heron.scheduler.SchedulerMain.runScheduler(SchedulerMain.java:382)  
[2018-04-15 20:44:27 -0700] [STDERR] stderr:    at com.twitter.heron.scheduler.SchedulerMain.main(SchedulerMain.java:218)  

我该怎么办来解决此问题?感谢您的帮助!

关键是通过将jar文件复制到.heron/lib/strong>文件夹中。

我想实现一个自定义调度程序和包装算法,而无需重新编译Heron

我有一个名为"包装"的项目,该项目具有heron.api和heron.spi的差异。

我的罐子被称为"包装-0.0.1-snapshot-jar-with-with-with-with-withEncies.jar用Maven构建。对我有用的是以下小型贝壳书中总结的步骤。我将其从包装项目中的文件夹中运行到汇编命令的作品:

#!/bin/bash
mvn assembly:assembly
cp target/packing-0.0.1-SNAPSHOT-jar-with-dependencies.jar $HOME/.heron/lib/packing/
cp target/packing-0.0.1-SNAPSHOT-jar-with-dependencies.jar $HOME/.heron/lib/scheduler/
echo "updated packing plan and scheduler"

然后,只需将自定义包装或调度程序添加到您的配置:

packing.yaml的示例:

heron.class.packing.algorithm: com.hcep.packing.CustomPacking

使用com.hcep.包装是我的包装套件中的包装结构,并定制了我的包装类。

您例外的直接原因是您的自定义调度程序未与苍鹭版本打包。

要使您的自定义调度程序工作,您可以按照以下步骤操作:

  1. 将您的实现添加到目录heron/schedulers/src/java/com/twitter/heron/scheduler
  2. 在目录heron/schedulers/src/java上更新BUILD文件
  3. tools/rules/heron_client.bzltools/rules/heron_core.bzl
  4. 添加您的自定义调度程序构建目标

这是本地调度程序打包的一个示例:https://github.com/apache/incubator-incubator-heron/search?utf8 =;/p>

您可以为苍鹭开发自定义调度程序 - 请关注代码库中的任何计划程序的任何实现。

相关内容

  • 没有找到相关文章

最新更新