Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-3677

Generate a globally unique identifier for a cluster and store in /hbase/hbase.id

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 0.92.0
    • master
    • None
    • Incompatible change, Reviewed
    • Added a unique cluster ID to ClusterStatus, This makes the HMasterInterface RPC protocol incompatible with previous versions.

    Description

      We don't currently have a way to uniquely identify an HBase cluster, apart for where it's stored in HDFS or configuration of the ZooKeeper quorum managing it. It would be generally useful to be able to identify a cluster via API.

      The proposal here is pretty simple:

      1. When master initializes the filesystem, generate a globally unique ID and store in /hbase/hbase.id
      2. For existing clusters, generate hbase.id on master startup if it does not exist
      3. Include unique ID in ClusterStatus returned from master

      For token authentication, this will be required to allow selecting the correct token to pass to a cluster when a single client is communicating to more than one HBase instance.

      Chatting with J-D, replication stores it's own cluster id in place with each HLog edit, so requires as small as possible an identifier, but I think we could automate a mapping from unique cluster ID -> short ID if we had the unique ID available.

      Attachments

        1. HBASE-3677_final.patch
          20 kB
          Gary Helmling

        Activity

          People

            ghelmling Gary Helmling
            ghelmling Gary Helmling
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: