我有一个mapreduce工作作为'jar',应该每天运行。此外,我需要从远程Java应用程序运行此jar。我该如何安排它:即,我只想每天从我的远程Java应用程序运行作业。
我读过关于Oozie的内容,但我认为这不适合。
答案 0 :(得分:1)
看看Quartz。它使您能够运行独立的Java程序或在Web或应用程序容器(如JBoss或Apache Tomcat)中运行。特别是与Spring和Spring批次的良好集成。
Quartz可以在java代码之外配置 - 在XML中,语法与crontab完全相同。所以,我发现它非常方便。
答案 1 :(得分:0)
我不清楚你的要求。您可以在程序中使用ssh命令执行库。 SSH library for Java 如果您在linux环境中运行程序,可以设置一些crontab来定期执行。
答案 2 :(得分:0)
如果你的jar的触发器是你的java程序,那么你应该每小时安排你的java程序而不是jar。如果这是独立的,那么你可以在Oozie工作流程中安排你的jar,你可以在第二步中的oozie工作流和jar执行的第一步中执行java代码。
在oozie中,您也可以将参数从一个级别传递到另一个级别。希望这会有所帮助。
-Dipika Harwani