Previously on the mailing list I submitted the idea of supporting multiple region server daemons on the same system. This can be done using the local-regionservers.sh and local-masters.sh scripts that we remove from our packaging (see
BIGTOP-503), but apparently running multiple region servers in production can be useful. It should be possible through init scripts, and it should play nice with the more traditional use case.
The modified init script template should make it safe and intuitive to run multiple region servers and masters on the same system, but only the regionserver package is using the new template - I don't know of a good reason to run multiple masters in production. Using the init script as before will control a single region-server daemon EXACTLY as it did before. If you specify numbers as additional parameters, you can control multiple daemons:
service hbase-regionserver start # Starts a single region server daemon, as before
(all other commands, with no additional parameters, will work as before)
service hbase-regionserver start 1 2 3 4 # Starts a single region server daemon
service hbase-regionserver restart 2 4 # Restarts the even daemons
service hbase-regionserver stop 1 3 # Stops the odd daemons
service hbase-regionserver stop # Stops all region servers in any mode of operation
service hbase-regionserver restart 1 2 3 # Stops all region servers, then starts these 3
I can see a case being made for changing the behavior of the stop and restart commands - so let me know if you disagree with the path I took. The log files and pid files get put in the same directory, but are also numbered according to their offset. The force-stop and force-reload command should also work as expected. When running a single daemon you can't start multiple daemons, and vice-versa. As recommended by Bruno for LSB-compliance and ease of administration, you can specify the offsets in /etc/hbase/conf/regionserver_offsets instead of on the command-line. Specifying offsets on the command-line anyway will override the file.