java—定期运行mapreduce作业而不使用oozie?

s8vozzvw  于 2021-06-03  发布在  Hadoop
关注(0)|答案(3)|浏览(361)

我有一个mapreduce的工作作为一个“jar”,应该每天运行。另外,我需要从远程java应用程序运行这个jar。如何安排它:即,我只想每天从我的远程java应用程序运行job。
我读过关于oozie的书,但我认为这在这里不合适。

pkln4tw6

pkln4tw61#

我不清楚你的要求。您可以在程序中使用ssh命令执行库。ssh library for java如果您在linux环境中运行自己的程序,您可以设置一些crontab来定期执行。

yb3bgrhw

yb3bgrhw2#

看看石英。它使您能够运行独立的java程序或在web或应用程序容器(如jboss或apachetomcat)中运行。特别是与spring和spring批处理有很好的集成。
quartz可以在java代码之外进行配置-在xml中,语法与crontab中完全相同。所以,我觉得很方便。
ä这里和这里都有一些例子。

mwyxok5s

mwyxok5s3#

如果jar的触发器是java程序,那么应该每小时调度一次java程序,而不是jar。如果这是分开的,那么您可以在oozie工作流中调度jar,在oozie工作流的第一步中执行java代码,在第二步中执行jar。
在oozie中,您也可以将参数从一个级别传递到另一个级别。希望这对您有所帮助。
-哈瓦尼迪皮卡

相关问题