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 except for a note from that era on how to automate infrastructure application with Chef, but 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: bringing up and babysitting a cluster was the unglamorous prerequisite to actually being able to run Spark jobs on one.
The source is open, at jane-natucci/my-puppet-hdp.