2014-01-08 1 views
2

У меня есть работа с mapreduce как «jar», которая должна запускаться ежедневно. Кроме того, мне нужно запустить эту банку из удаленного Java-приложения. Как я могу запланировать его: i.e, я просто хочу запускать работу ежедневно из моего удаленного приложения Java.Запуск MapReduce работать периодически без Оози?

Я читал об Оози, но я не думаю, что здесь уместно.

ответ

1

Посмотрите на Quartz. Он позволяет запускать автономные java-программы или запускаться внутри контейнера в Интернете или приложении (например, JBoss или Apache Tomcat). В частности, есть хорошая интеграция с весной и весной.

Кварц может быть сконфигурирован за пределами java-кода - в XML и синтаксис точно так же, как в crontab. Поэтому мне было очень удобно.

ä Некоторые примеры можно найти here и here.

0

Непонятно о ваших требованиях. Вы можете использовать исполняемые библиотеки команд ssh в своей программе. SSH library for Java Если вы запускаете свою программу в самой Linux-среде, вы можете установить некоторый crontab для периодического выполнения.

0

Если триггер вашей банки является вашей программой java, тогда вы должны планировать свою программу java ежечасно, а не банку. И если это отдельно, тогда вы можете запланировать свою банку в рабочем процессе Oozie, где вы можете выполнить java-код на первом этапе рабочего процесса oozie и выполнение jar на втором шаге.

В oozie вы также можете передавать параметры с одного уровня на другой. Надеюсь, это поможет.

-Dipika Harwani