Uploaded image for project: 'ZooKeeper'
  1. ZooKeeper
  2. ZOOKEEPER-1080

Provide a Leader Election framework based on Zookeeper recipe

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Resolved
    • Major
    • Resolution: Duplicate
    • 3.3.2
    • 3.5.0
    • contrib
    • None

    Description

      Currently Hadoop components such as NameNode and JobTracker are single point of failure.
      If Namenode or JobTracker goes down, there service will not be available until they are up and running again. If there was a Standby Namenode or JobTracker available and ready to serve when Active nodes go down, we could have reduced the service down time. Hadoop already provides a Standby Namenode implementation which is not fully a "hot" Standby.
      The common problem to be addressed in any such Active-Standby cluster is Leader Election and Failure detection. This can be done using Zookeeper as mentioned in the Zookeeper recipes.
      http://zookeeper.apache.org/doc/r3.3.3/recipes.html

      Leader Election Service (LES)

      Any Node who wants to participate in Leader Election can use this service. They should start the service with required configurations. The service will notify the nodes whether they should be started as Active or Standby mode. Also they intimate any changes in the mode at runtime. All other complexities can be handled internally by the LES.

      Attachments

        1. zkclient-0.1.0.jar
          55 kB
          Hari A V
        2. ZOOKEEPER-1080.patch
          117 kB
          Hari A V
        3. zookeeper-leader-0.0.1.tar.gz
          5 kB
          Eric Sammer
        4. LeaderElectionService.pdf
          182 kB
          Hari A V

        Issue Links

          Activity

            People

              harivishnu Hari A V
              harivishnu Hari A V
              Votes:
              6 Vote for this issue
              Watchers:
              21 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: