-Re: HBase Rest service start/stop with HBase service.
Jean-Daniel Cryans 2013-05-10, 17:44
I've usually relied on cluster management tools when I'm at this point with
an HBase cluster, but I guess we could add the same option that we have for
ZK in hbase-env.sh, basically if you set HBASE_MANAGES_REST to true the
scripts will start/stop the REST servers on the slave machines. Same for
I would not go as far as adding different sets of machines a la
conf/regionservers if your Thrift or REST servers lay on different machines
than your region servers.
On Thu, May 9, 2013 at 11:41 PM, Julian Zhou <[EMAIL PROTECTED]> wrote:
> Recently, lots of developments and applications were done and deployed
> based on consuming HBase Rest API. For Restful servlet
> (org.apache.hadoop.hbase.rest.Main (0.94),
> org.apache.hadoop.hbase.rest.RESTServer (trunk)) on Jetty, we need to
> first explicitly start the service (% ./bin/hbase-daemon.sh start rest
> -p 8000 ) for application running. Here is a scenario, sometimes, HBase
> cluster are stopped/started for maintanence, but rest is a seperated
> standalone process, which binds the HBaseAdmin at construction method.
> HBase stop/start cause this binding lost for existing rest servlet. Rest
> servlet still exist to trying on old bound HBaseAdmin until a long time
> duration later with an "Unavailable" caught via an IOException caught in
> such as RootResource.
> Is there any JIRA discussion on this with some questions like:
> - could we pairwise the HBase service with HBase rest service with some
> start/stop options? since seems no reason to still keep the rest servlet
> process after HBase stopped? When HBase restarts, original rest service
> could not resume to bind to the new HBase service via its old HBaseAdmin
> So may we stop the rest when hbase stopped, or even if hbase was killed
> by acident, restart hbase with rest option could detect the old rest
> process, kill it and start to bind a new one?
> From this point of view, application rely on rest api in previous
> scenario could immediately detect it when setting up http connection
> session instead of wasting a long time to fail back from IOException
> with "Unavailable" from rest servlet.
> Best Regards, Julian