incubator-bigtop-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sean Mackrory <mackror...@gmail.com>
Subject Running multiple HBase masters / region-servers
Date Fri, 07 Sep 2012 21:04:09 GMT
All,

In https://issues.apache.org/jira/browse/BIGTOP-503, several scripts
were removed because (among other things) they circumvented the logic
of the init scripts and thus could cause problems It was recently
requested by some of the HBase folks that local-regionservers.sh and
local-master-backup.sh be re-included. These scripts make it possible
to run multiple region servers and masters on the same system. The
benefits cited include:

* Easy testing of fail-over between nodes on a single system
* Maximizing disk usage with multiple region servers
* Avoiding problems with heaps being too big

The main drawback is the added complexity in the init scripts required
to reliably and clearly deal with PID files, etc... in such a
configuration. I support the rationale behind removing these scripts,
but I also think it'd be nice to eventually support these features in
a safer way through the init scripts added by Bigtop.

I've had a brief look at how a similar thing is done with Apache
HTTPD, but that doesn't seem to apply very well to how these scripts
were working. The design I have in mind is to add a second init script
to the hbase-master and hbase-regionserver packages that is used for
starting and stopping multiple nodes. The status-checks in each script
would then be modified to be aware of whatever the other script may
have done. I envision something like this:

$ service hbase-master # Start 1 master
$ service hbase-multi-master start 0 1 # Attempt to start 2 other masters
Master server already running. Use 'service hbase-master' to administer it.
$ service hbase-multi-regionserver start 0 1 2 3 4 5 6 7 8 9 # Start
10 regionserver
$ service hbase-multi-regionserver stop 0 2 4 6 8 # Stop even region servers
$ service hbase-regionserver status
Multiple region servers running. Use 'service
hbase-multi-regionserver' to administer them.
$ service hbase-multi-regionserver status
Multiple region servers running on offsets: 1, 3, 5, 7, 9

Of course, all existing commands would continue to work the same way,
and perhaps we could even include the "multi" init scripts. in a
separate package to hide the complexity from the people who don't need
to see it.

Just wanted to get some community feedback before embarking on such a
potentially dangerous change... Thoughts?

Mime
View raw message