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

Allen Wittenauer resolved HADOOP-3969.
--------------------------------------

    Resolution: Incomplete

Having REST interfaces for everything would be great, but this JIRA isn't the 
place to do it at this point.

> Provide Mechanism to optionally expose public org.apache.hadoop.util.Services 
> APIs 
> -----------------------------------------------------------------------------------
>
>                 Key: HADOOP-3969
>                 URL: https://issues.apache.org/jira/browse/HADOOP-3969
>             Project: Hadoop Common
>          Issue Type: New Feature
>            Reporter: Pete Wyckoff
>
> Enhance manageability of Hadoop Services by providing Jute, Thrift, REST, ... 
> APIs to select methods in the Service class (or potentially others).
> This will allow external tools written in a myriad of languages to query the 
> state of Hadoop Servers and/or interact with them.
> This can be encapsulated in the Service class by defining a very simple 
> interface and then optionally instantiating such an implementation provided 
> in the Configuration.
> Some methods to be implemented include all the public methods in Service:
> {code}
> ping()
> isRunning()
> terminate()
> getServiceState()
> verifyServiceState()
> isTerminated(),
> {code}
> INTERFACE:
> {code}
> package org.apache.hadoop.util;
> public interface ExposeServiceAPIs {
>    /**
>    * @param service - the service whose APIs are to be exposed
>   * @param  serviceName - a symbolic name for the service
>   * @param configuration - the hadoop configuration object
>  **/
>   public void initialize(Service service, String serviceName, Configuration 
> conf) throws IOException,
>   public boolean start();
>   public boolean stop();
> } ;
> {code}
> Two straightforward implementations of this would be:
> 1. Servlet that exposes the APIs via REST
> 2. Thrift DDL of the service APIs and an implementation in Java + bindings in 
> C++, Java, Perl, Python, Ruby, PHP



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to