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

Optimize the rolling restart script

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Minor
    • Resolution: Not A Problem
    • Affects Version/s: 0.95.2
    • Fix Version/s: None
    • Component/s: regionserver, scripts
    • Labels:
      None

      Description

      There is a graceful_stop script. This algorithm:

      for i = 0 to servers.size {
       regionsInServer = servers[i].regions
       move servers[i].regions to random
       stop servers[i]
       start servers[i]
       move regionsInServer to servers[i] //filled back with the same regions
      }
      

      It would be possible to optimize it while keeping data locality with

      for i = 0 to servers.size {
       start servers[i*2+1] on the computer of servers[i] // Two RS on the same box
       move servers[i].regions to servers[i*2+1]  // The one on the same box
       stop servers[i]
      }
      

      There would be an impact with a fixed port configuration. To fix this, we could:

      • use a range of port instead of a single port. This could be an issue for the web port.
      • start on a port then reuse the fixed ones when they become available. This is not very elegant if a client code is already using the previous code. Moreover the region server code is written in the meta table.
      • do a mix of the two solutions: a range for the server itself, while waiting for the web port to be available.

      To be discussed...

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                nkeywal Nicolas Liochon
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: