Hi Stuart,

Yes, we do that.  Ditto on most of what Chris described.

We use an AMI which pulls tarballs for Ant, Java, Hadoop, etc., from
S3 when it launches. That controls the versions for tools/frameworks,
instead of redoing an AMI each time a tool has an update.

A remote server -- in our data center -- acts as a controller, to
launch and manage the cluster.  FWIW, an engineer here wrote those
scripts in Python using "boto".  Had to patch boto, which was
submitted.

The mapper for the first MR job in the workflow streams in data from
S3.  Reducers in subsequent jobs have the option to write output to S3
(as Chris mentioned)

After the last MR job in the workflow completes, it pushes a message
into SQS.  The remote server polls SQS, then performs a shutdown of
the cluster.

We may replace use of SQS with RabbitMQ -- more flexible to broker
other kinds of messages between Hadoop on AWS and the
controller/consumer of results back in our data center.


This workflow could be initiated from a crontab -- totally automated.
However, we still see occasional failures of the cluster, and must
restart manually, but not often.  Stability for that has improved much
since the 0.18 release.  For us, it's getting closer to total
automation.

FWIW, that's running on EC2 m1.xl instances.

Paco



On Thu, Oct 23, 2008 at 9:47 AM, Stuart Sierra <[EMAIL PROTECTED]> wrote:
> Hi folks,
> Anybody tried scripting Hadoop on EC2 to...
> 1. Launch a cluster
> 2. Pull data from S3
> 3. Run a job
> 4. Copy results to S3
> 5. Terminate the cluster
> ... without any user interaction?
>
> -Stuart
>

Reply via email to