- Subscribe to RSS Feed
- Mark Question as New
- Mark Question as Read
- Float this Question for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page
Oozie custom action deployment on Cloudera 5.4.x clusters running Cloudera Manager
Created on ‎07-16-2015 12:38 PM - edited ‎09-16-2022 02:34 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
Created ‎07-24-2015 06:34 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Lets carry on there, and mark this thread resolved (for benefit of others looking for the same thing)?
Created ‎08-04-2015 04:39 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Created ‎07-16-2015 09:00 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The CM API allows you to use REST API (via curl cli commands, python or java programs, etc.) to set configuration, restart clusters, services or instances, and a lot more. This is documented with some examples at the CM API website: http://cloudera.github.io/cm_api/
For deploying custom jars easily, you can also consider writing a custom parcel (if you already use parcels and not RPM/DEB packages to run CDH in CM). Documentation on what parcels are and how to write a parcel is at https://github.com/cloudera/cm_ext/wiki/Parcels:-What-and-Why%3F, https://github.com/cloudera/cm_ext/wiki/The-parcel-format and https://github.com/cloudera/cm_ext/wiki/Building-a-parcel
One example Oozie-related parcel I have in my personal repo is one that installs the extjs UI libraries in an automatic manner. You can reference it for building your own custom jar deployment parcel: https://github.com/QwertyManiac/extjs-parcel
Does this help?
Created ‎07-24-2015 10:37 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
Created ‎07-24-2015 06:34 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Lets carry on there, and mark this thread resolved (for benefit of others looking for the same thing)?
Created ‎08-04-2015 04:39 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
