> From: Aravind Gottipati <[email protected]>

> imo, puppet is okay> with configuration management tasks, but not really 
>great at
> orchestrating a sequence of steps across multiple machines.

This is our experience as well.

We use Puppet to maintain a synchronized static configuration for the OS, 
Hadoop, and HBase but found that doing more requires contortions. We also found 
the Puppet language to be brittle, error messages to be unhelpful, and node 
variable inheritance to be directly counterintuitive.

Fabric sounds interesting. For orchestrating startup, rolling restart, 
shutdowns, etc. we use hand crafted shell scripts.

Best regards,


    - Andy

Problems worthy of attack prove their worth by hitting back. - Piet Hein (via 
Tom White)


----- Original Message -----
> From: Aravind Gottipati <[email protected]>
> To: [email protected]
> Cc: 
> Sent: Thursday, August 18, 2011 7:01 AM
> Subject: Re: About puppet and fabric (WAS: operational overhead for HBase)
> 
> On Wed, Aug 17, 2011 at 4:45 PM, Jean-Daniel Cryans <[email protected]> 
> wrote:
>>>  I'm currently evaluating the use of Puppet for Hadoop/HBase 
> automated
>>>  deploys and Fabric looks a lot simpler and more descriptive.  I'm
>>>  curious how well Fabric would work in its own right without Puppet for
>>>  automate installs?
>> 
>>  I'll let my puppet masters answer that.
> 
> We use puppet to sync out (hadoop) config files and other static O.S
> settings (sysctl, fstab, etc).  We could also use puppet to distribute
> hbase and hadoop builds as well, but usually a hbase deployment is
> followed by a rolling restart of the cluster.  imo, puppet is okay
> with configuration management tasks, but not really great at
> orchestrating a sequence of steps across multiple machines. Fab on the
> other hand works well for that kind of stuff.  We use fab to manage
> rolling restarts, draining nodes in a cluster, running quick checks of
> versions across the cluster, etc..  Here is the list of fab tasks we
> use to manage our cluster.  Doing something similar with puppet would
> take more puppet wrangling than I am comfortable with.
> 
> $ fab -l
> Available commands:
> 
>     assert-configs    Check that all the region servers have the same 
> config...
>     assert-regions    Check that all the regions have been vacated from the 
> ...
>     assert-release    Check the release running on the server.
>     deploy-hbase      Deploy the new hbase release to the regionserver.
>     disable-balancer  Disable the balancer.
>     dist-hadoop       Rsyncs the hadoop release to the region servers.
>     dist-hbase        Rsyncs the hbase release to the region servers.
>     dist-release      Rsyncs the release to the region servers.
>     enable-balancer   Balance regions and enable the balancer.
>     hadoop-start      Start hadoop.
>     hbase-start       Start hbase.
>     hbase-stop        Stop hbase (WARNING: does not unload regions).
>     jmx-kill          Kill JMX collectors.
>     prep-release      Copies the tar file from face and extract it.
>     rolling-restart   Rolling restart of the whole cluster.
>     thrift-restart    Re-start thrift.
>     thrift-start      Start thrift.
>     thrift-stop       Stop thrift.
>     unload-regions    Un-load HBase regions on the server so it can be shut 
> ...
> 
> $
>

Reply via email to