Permalink
Fetching contributors…
Cannot retrieve contributors at this time
78 lines (57 sloc) 3.17 KB

Juju Charms for Deploying Bigtop

Overview

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.

Building the Bigtop Charms

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