[ 
https://issues.apache.org/jira/browse/OOZIE-983?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mona Chitnis reassigned OOZIE-983:
----------------------------------

    Assignee: Mona Chitnis
    
> [Design] Automatic Oozie application deployment using WebHDFS
> -------------------------------------------------------------
>
>                 Key: OOZIE-983
>                 URL: https://issues.apache.org/jira/browse/OOZIE-983
>             Project: Oozie
>          Issue Type: Bug
>            Reporter: Mohammad Kamrul Islam
>            Assignee: Mona Chitnis
>
> Problem:
> 1. A user can't upload the oozie application from his dev box. User needs to 
> access to a specialized box (such as gateway) to run those hadoop commands. 
> It is inconvenient which requires to follow multiple steps and restrictions.
> 2. Automatic Oozie application versioning. If a user wants to deploy a new 
> version of Oozie application, he needs to run multiple commands. In addition, 
> there is no standard for this.
> Proposal:
> 1. Oozie will provide a tool that will automatically deploy the application 
> and maintained a rigid version mechanism.
> 2. It could be a new script (e.g. oozie-deply) or it can extend the existing 
> oozie command (e.g. oozie  -deply....."). TBD
> 3. The new script will get the necessary information to launch a WebHDFS 
> command from the user and upload the necessary files. It includes: WebHDFS 
> end point, security token (for secured version), local application directory 
> and remote application base path.
> 4. Using the appropriate WebHDFS REST API, the tool will deploy the 
> application.  User can choose whether to override an existing application 
> path. 
> 5. User can ask to upload a new version of application. The new version could 
> be user provided or auto created by the script. For auto version selection, 
> oozie tools will check the existing application path with pattern "v?". Then 
> select the new version number.
> 6. For uploading a new application version, the oozie tool will first upload 
> the application and then kill the old job (How to get the old job id?). At 
> last, submit the new application. 
> Open question:
> 1. How to pass the kerberos token? Specially from a dev box.
> 2. Who will determine the new version? user or automatic?
> Other key points:
> 1. Only supported for Hadoop 1.0.2+ 
> 2. Need to use/develop some wrapper tools which can hide most of the WebHDFS 
> details. There are already two such tools:  a) for python :  
> https://github.com/drelu/webhdfs-py b) for Ruby,  
> https://github.com/zenja/webhdfs-ruby. At this point the options are: 
>   * Write a new Java wrapper class.
>   * Write a new wrapper tool using pure shell commands.
>   * Reuse python or Ruby libraries.
> Overall, we need to do it correctly from the beginning. The comments from 
> others are highly appreciated.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to