Details
-
Improvement
-
Status: Closed
-
Minor
-
Resolution: Not A Problem
-
0.95.2
-
None
-
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
- is required by
-
HBASE-5843 Improve HBase MTTR - Mean Time To Recover
- Closed