首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Heron中实现自定义调度程序?

如何在Heron中实现自定义调度程序?
EN

Stack Overflow用户
提问于 2018-03-25 11:57:21
回答 2查看 134关注 0票数 0

我读过关于Heron Documents关于Implementing a Custom Scheduler的文章。我知道我应该实现一些接口来实现自定义调度器,比如ILauncherIPackingISchedulerIUploader

我已经实现了实现IScheduler接口的IScheduler,我希望在自定义调度程序中使用LocalLauncherLocalUploaderdefault Packing algorithm

此外,我修改了位于conf/local/的名为conf/local/的苍鹭配置文件,以使用自定义调度程序。同时,我将CustomScheduler.jar添加到heron-core/lib/scheduler/中。但是,如日志所示,存在一些错误:

代码语言:javascript
复制
[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)  

我该怎么做才能解决这个问题?谢谢你的帮忙!

EN

回答 2

Stack Overflow用户

发布于 2018-04-17 21:20:32

出现异常的直接原因是您的自定义调度程序没有与heron版本一起打包。

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

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

下面是本地调度程序如何打包的示例:https://github.com/apache/incubator-heron/search?utf8=%E2%9C%93&q=heron-local-scheduler&type=

票数 1
EN

Stack Overflow用户

发布于 2018-04-12 00:22:33

您可以为Heron开发自定义调度程序--请遵循代码库中调度程序的任何实现。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49475563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档