hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Allen Wittenauer (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (HADOOP-3969) Provide Mechanism to optionally expose public org.apache.hadoop.util.Services APIs
Date Fri, 18 Jul 2014 21:00:15 GMT

     [ 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)

Mime
View raw message