Uploaded image for project: 'Hadoop Common'
  1. Hadoop Common
  2. HADOOP-3969

Provide Mechanism to optionally expose public org.apache.hadoop.util.Services APIs

    XMLWordPrintableJSON

    Details

    • Type: New Feature
    • Status: Resolved
    • Priority: Major
    • Resolution: Incomplete
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      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:

      ping()
      isRunning()
      terminate()
      getServiceState()
      verifyServiceState()
      isTerminated(),
      

      INTERFACE:

      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();
      } ;
      
      

      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

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                wyckoff Pete Wyckoff
              • Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: