You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "nkeywal (JIRA)" <ji...@apache.org> on 2012/04/23 18:33:33 UTC
[jira] [Created] (HBASE-5859) Optimize the rolling restart script
nkeywal created HBASE-5859:
------------------------------
Summary: Optimize the rolling restart script
Key: HBASE-5859
URL: https://issues.apache.org/jira/browse/HBASE-5859
Project: HBase
Issue Type: Improvement
Components: regionserver, scripts
Affects Versions: 0.96.0
Reporter: nkeywal
Priority: Minor
There is a graceful_stop script. This algorithm:
{noformat}
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
}
{noformat}
It would be possible to optimize it while keeping data locality with
{noformat}
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]
}
{noformat}
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...
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-5859) Optimize the rolling restart script
Posted by "stack (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-5859?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13262732#comment-13262732 ]
stack commented on HBASE-5859:
------------------------------
I like the idea of regionservers being allocated a range of ports rather than an explicit one. Ditto for its UI. We'd have to do the tooling to support moving ports first -- the port the client talks to and that of the UI (maybe one day we just remove the UI from regionservers; instead have a separate UI app that is fed via jmx, etc) -- and then once that was done, we could do nice tricks like this.
Can you think of any other tricks we could do if the ports regionservers answered on were fuzzy?
> Optimize the rolling restart script
> -----------------------------------
>
> Key: HBASE-5859
> URL: https://issues.apache.org/jira/browse/HBASE-5859
> Project: HBase
> Issue Type: Improvement
> Components: regionserver, scripts
> Affects Versions: 0.96.0
> Reporter: nkeywal
> Priority: Minor
>
> There is a graceful_stop script. This algorithm:
> {noformat}
> 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
> }
> {noformat}
> It would be possible to optimize it while keeping data locality with
> {noformat}
> 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]
> }
> {noformat}
> 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...
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira