← Back

Automating an HDP Cluster with Puppet

What Is It?

A Puppet module from 2018–2019 that automates deploying an Ambari-managed Hortonworks Data Platform (HDP) cluster: installs and configures the Ambari server and agents, sets up PostgreSQL as the backing metastore for Hive and Oozie, and generates a self-signed certificate so the Ambari API runs over HTTPS instead of plain HTTP.

Chef, then Puppet. This wasn't the first time I automated an HDP deployment — I'd done it before with Chef, and this Puppet module was the second pass at the same problem: get Ambari installed, configured, and pointed at a database, without touching a server by hand. The Chef-era version didn't survive to today; this Puppet one did.

The Stack

Built With

What Actually Happens on a Node

Broken down by manifest, roughly in the order it runs:

Every Node (hdp::default)

Worker Nodes (hdp::agent)

The Ambari Server (hdp::server)

Scala, Spark, and This

This overlaps with when I was deep into Scala and Spark — the 2016 USA election analysis with Spark GraphX is from a couple years earlier, but HDP and Spark were the same world: standing up and babysitting a cluster was the unglamorous prerequisite to actually being able to run Spark jobs on one. Also see the earlier note on Chef from around the same era, for the tool this module eventually replaced.

The source is open, at jane-natucci/my-puppet-hdp.