Forge Home

storm

Module for managing Storm installation

82,611 downloads

7,192 latest version

4.6 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 0.4.1 (latest)
  • 0.4.0
  • 0.3.1
  • 0.3.0
  • 0.2.0
  • 0.1.1
  • 0.1.0
released Oct 5th 2016
This version is compatible with:
  • , , ,

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'deric-storm', '0.4.1'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add deric-storm
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install deric-storm --version 0.4.1

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

deric/storm — version 0.4.1 Oct 5th 2016

Puppet Storm

Puppet
Forge Build Status Puppet Forge
Downloads

Puppet module for managing Storm installation.

Features:

  • Hiera support
  • Mesos integration

Requirements

Usage

The binary package, which is by default called storm will be installed on all machines. You can provide a set of packages:

class {'storm':
  packages => ['storm', 'storm-mesos', 'libjzmq']
}

Main Storm class includes default configuration, each component is afterwards configured individually.

On master node include Nimbus:

class {'storm::nimbus': }

By default service management is disabled, to enable starting service with OS default init system (init.d/upstart/systemd/...) use parameter manage_service:

class {'storm::nimbus':
  manage_service => true
}

In order to change default service mechanism (determined by Puppet) use parameter force_provider:

class {'storm::nimbus':
  manage_service => true,
  force_provider => 'runit'
}

You can adjust all the parameters directly:

class {'storm::nimbus':
  host => '192.168.1.1'
}

or via Hiera:

storm::nimbus::host: '192.168.1.1'

Parameters:

  • manage_service by default false (service not managed by OS)
  • enable whether service should be enable (default: true, note manage_service must be also true)
  • force_provider default: undef
  • host address to bind, default: localhost
  • thrift_port default: 6627
  • childopts default -Xmx1024m
  • task_timeout_secs default 30
  • supervisor_timeout_secs default 60
  • monitor_freq_secs default 10
  • cleanup_inbox_freq_secs default 600
  • inbox_jar_expiration_secs default 3600
  • task_launch_secs default 120
  • reassign default true
  • file_copy_expiration_secs default 600 jvm array, default:
['-Dlog4j.configuration=file:/etc/storm/storm.log.properties','-Dlogfile.name=nimbus.log']

UI

class {'storm::ui': }

Parameters:

  • manage_service by default false (service not managed by OS)
  • enable whether service should be enable (default: true, note manage_service must be also true)
  • force_provider default: undef
  • mem JVM memory default 1024m
  • port default: 8080
  • childopts default -Xmx768m

Supervisor

Each computing node should include supervisor which watches Storm's bolts and spouts.

class {'storm::supervisor': }

DRPC

class {'storm::drpc': }

Mesos

Mesos integration requires special binary package which provides storm-mesos service (framework).

class {'storm::mesos': }

In Hiera you could define something like this:

storm::mesos::master_url: "%{mesos::zookeeper}"

Packages

Some configuration is shared between components, e.g. packages that are installed:

storm::packages: ['storm', 'libjzmq']

by default just storm package is installed.

Installation

puppet-librarian:

mod 'deric/storm', :git => 'https://github.com/deric/puppet-storm.git'

dependencies:

  • puppetlabs/stdlib
  • puppetlabs/concat