Juju Charms allow you to deploy, configure, and connect an Apache Bigtop cluster on any supported cloud, which can be scaled to meet workload demands. You can also easily connect other, non-Bigtop components from the Juju charm store that support common interfaces.
This source tree contains the charm layers used to build charms for deploying Bigtop components. Built charms are published to the Juju charm store and can be deployed directly from there, either individually or with bundles. They can also be built from these layers and deployed locally.
For the remainder of this guide, a working Juju 2.0 or greater installation is assumed to be present. If Juju is not yet set up, please follow the getting-started instructions prior to deploying locally built charms and bundles.
To build these charms, you will need charm-tools. You should also read over the developer Getting Started page for an overview of developing and building charms. Then, in any of the charm layer directories, use charm build
. For example:
export JUJU_REPOSITORY=$HOME/charms mkdir $JUJU_REPOSITORY cd bigtop-packages/src/charms/hadoop/layer-hadoop-namenode charm build --series xenial --report
This will build the NameNode charm in the $JUJU_REPOSITORY/xenial/hadoop-namenode directory, pulling in the appropriate base and interface layers from interfaces.juju.solutions. You can get local copies of those layers as well by using charm pull-source
:
export LAYER_PATH=$HOME/layers export INTERFACE_PATH=$HOME/interfaces mkdir $HOME/{layers,interfaces} charm pull-source layer:apache-bigtop-base charm pull-source interface:dfs
You can deploy the locally built charms individually, for example:
juju deploy $JUJU_REPOSITORY/xenial/hadoop-namenode
You can also deploy the local version of a bundle:
juju deploy ./bigtop-deploy/juju/hadoop-processing/bundle-local.yaml