Our environment runs multiple Cloudera 5.4.x clusters, each running Cloudera Manager.
We would like to deploy an oozie custom action, and automate it as much as possible. For development we uave used the Cloudera Quickstart vm and do roughly the following steps:
1) Stop oozie and it's dependiencies - Use cloudera manager to stop Hue first then Oozie (since hue depends on oozie).
2) Configure oozie and deploy jars that launch the custom action.
2a)For the initial install only, register the custom action with oozie iusing Cloudera Manager (in particular identify the xml schema and the corresponding class).
2b) On the intial install and for every upgrade, deploy the jars required to launch the costom action to /var/lib/oozie.
3) Restart oozie and its dependencies - Use cloudera manager to restart oozie then hue.
I would like to have command line automation for steps 1, 2a and 3 if possible, epecially steps 1 and 3.
For steps 1 and 3 (stopping and restarting oozie), is there a command line interface suitable for inclusion into the a rpm's shell scripts (invoked via rpm), in particular it seems taht using the command line "service" interface is contraindicated as per http://www.cloudera.com/content/cloudera/en/documentation/core/latest/topics/cdh_ig_services_stop.ht...
For step 2a) I'm not sure if I can do this via a script, the changes are not being reflected in the oozie-site.xml file ( /etc/oozie/conf.dist/oozie-site.xml) does not seem to be updated or accessed by oozie.
Thanks for the help. Regarding the API and the documentation, I've had a chance to look over it and stopping, starting/restarting the oozie server and its dependencies are fairly streigth forward. However, I'm not quite clear on how to update the properties to register the custom actions classes via the
Oozie ActionService Executor Extension Classes (oozie.service.ActionService.executor.ext.classes) and the Oozie SchemaService Workflow Extension Schemas
(oozie.service.SchemaService.wf.ext.schemas). I've tried several different approaches via the python API as seen at http://cloudera.github.io/cm_api/docs/python-client/, however so far I have had no luck. If anyone knows how to do this, I'd appreaciate it.