finn-no/puppet-confluent

Name: puppet-confluent

Owner: FINN.no

Description: Puppet module for setting up confluent.io kafka/zookeeper/restservice/schemaregistry

Created: 2016-06-02 06:43:45.0

Updated: 2017-07-25 01:30:11.0

Pushed: 2017-12-12 08:43:33.0

Homepage: null

Size: 105

Language: Puppet

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

confluent

OS Support

Tested on:

Description

finn-confluent is a puppet module to install, configure and run confluent.io distribution of kafka, zookeeper, schema-registry and rest service, on same or separate nodes in clusters.

The module places a lot of faith in the packaging of confluent, and only deviations from properties in property files are allowed. In addition, SysV init scripts are provided to control the services (Only start-stop scripts are provided by the packages).

Setup
Setup Requirements

You must classify your nodes with puppet, and java must be provided. See below for simple examples, and ways to provide properties for components.

Usage

Set up a standalone server like this:

age { 'openjdk-7-jre':
sure => present,


s { 'confluent':
fka_server    => true,
okeeper       => true,
fka_rest      => true,
hema_registry => true,

This is the simplest form you will be able to use. For multiple servers, include only the components you wish the node to run:

age { 'openjdk-7-jre':
sure => present,


s { 'confluent':
fka_server => true,

Configuring components

See confluent/kafka docs for explanations of the different property files used to configure confluent components. The parameter names map directly to files in /etc/kafka, /etc/kafka-rest and /etc/schemaregistry.

To configure components, you can pass in hashes with properties for relevant components. Any key=value pair can be set.

kafka server
s { 'confluent':
fka_server                         => true,
fka_server_properties              => {}, #main props for kafka server, pass in puppet key => value pairs 
fka_log4j_properties               => {},
nnect_console_sink_properties      => {},
nnect_console_source_properties    => {},
nnect_distributed_properties       => {},
nnect_standalone_properties        => {},
nnect_file_sink_properties         => {},
nnect_file_source_properties       => {},
nnect_log4j_properties             => {},
oducer_properties                  => {},
nsumer_properties                  => {},
ols_log4j_properties               => {},

Zookeeper
s { 'confluent':
okeeper              => true,
okeeper_myid         => '1',  #Will create a myid file telling zookeeper who she is
okeeper_properties   => {},

Schema-registry
s { 'confluent':
hema_registry                       => true,
hema_registry_properties            => {},
hema_registry_log4j_properties      => {},
nnect_avro_distributed_properties   => {},
nnect_avro_standalone_properties    => {},

Kafka-rest
s { 'confluent':
fka_rest                    => true,
fka_rest_properties         => {},
fka_rest_log4j_properties   => {},

References

This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.