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.
puppet-lint), build the module package, then scp + ssh install it onto the Puppet masterBroken down by manifest, roughly in the order it runs:
hdp::default)java-1.8.0-openjdk.hdp::agent)ambari-agent.localhost.PROTOCOL_TLSv1_2 in the agent's security settings.ambari-agent service.hdp::server)ambari-server and run its silent setup.genrsa → req → self-sign, and enable
HTTPS on the Ambari API with it.ambari-server service.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.