Azkaban的任务类型分析35:JavaProcessJob的执行
Azkaban的任务类型分析35:JavaProcessJob的执行
强子哥哥 发表于2年前
Azkaban的任务类型分析35:JavaProcessJob的执行
  • 发表于 2年前
  • 阅读 814
  • 收藏 0
  • 点赞 1
  • 评论 0

【腾讯云】买域名送云解析+SSL证书+建站!>>>   

我们知道,在azkaban内部有好几种调度程序,那么一个java程序怎么被执行的呢?

================================================================

其实更完整的是

下面我们来探索JavaProcessJob类型job的执行过程!

jdb azkaban.execapp.AzkabanExecutorServer  -conf  /root/azkb/azkaban_3.0.0_debug/conf

stop in azkaban.jobExecutor.JavaProcessJob.HelloWorld

run

=========================================================================================================

private void loadDefaultTypes(JobTypePluginSet plugins) throws JobTypeManagerException {

logger.info("Loading plugin default job types");

plugins.addPluginClass("command", ProcessJob.class);

plugins.addPluginClass("javaprocess", JavaProcessJob.class);

plugins.addPluginClass("noop", NoopJob.class);

plugins.addPluginClass("python", PythonJob.class);

plugins.addPluginClass("ruby", RubyJob.class);

plugins.addPluginClass("script", ScriptJob.class);

}


=========================================================================================================

关于classPath的路径

protected List<String> getClassPaths() {

//

List<String> classPaths = getJobProps().getStringList(CLASSPATH, null, ",");

 

ArrayList<String> classpathList = new ArrayList<String>();

// Adding global properties used system wide.

//

if (getJobProps().containsKey(GLOBAL_CLASSPATH)) {

List<String> globalClasspath = getJobProps().getStringList(GLOBAL_CLASSPATH);

for (String global : globalClasspath) {

getLog().info("Adding to global classpath:" + global);

classpathList.add(global);

}

}

//

if (classPaths == null) {

File path = new File(getPath());

// File parent = path.getParentFile();

getLog().info("No classpath specified. Trying to load classes from " + path);

 

if (path != null) {

for (File file : path.listFiles()) {

if (file.getName().endsWith(".jar")) {

// log.info("Adding to classpath:" + file.getName());

classpathList.add(file.getName());

}

}

}

} else {

classpathList.addAll(classPaths);

}

 

return classpathList;

}

一个可用的是

 commands = "

[

   java -Dazkaban.flowid=javaprocess -Dazkaban.execid=193 -Dazkaban.jobid=javaprocess -Xms64M -Xmx256M -cp javaProcessTest.jar javaProcessTest.test 

]"


标签: azkaban
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
强子哥哥
粉丝 846
博文 551
码字总数 639462
作品 8
×
强子哥哥
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: