- Overview
- Module Description - What the module does and why it is useful
- Setup - The basics of getting started with Kafka
- Usage - Configuration options and additional functionality
- Reference - An under-the-hood peek at what the module is doing and how
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
The Kafka module for managing the installation and configuration of Apache Kafka.
The Kafka module for managing the installation and configuration of Apache Kafka: it's brokers, producers and consumers.
Installs the Kafka package and creates a new service.
This module has the following dependencies:
To successfully install Kafka using this module you need to have Apache ZooKeeper already running at localhost:2181. You can specify another ZooKeeper host:port configuration using the config hash of the kafka::broker class.
The default configuration installs Kafka 0.11.0.3 binaries with Scala 2.11:
class { 'kafka': }
If you want a Kafka broker server that connects to ZooKeeper listening on port 2181:
class { 'kafka::broker':
config => {
'broker.id' => '0',
'zookeeper.connect' => 'localhost:2181'
}
}
You can specify different Kafka binaries packages versions to install. Please take a look at the different Scala and Kafka versions combinations at the Apache Kafka Website
We first install the binary package with:
class { 'kafka':
version => '1.1.0',
scala_version => '2.12'
}
Then we set a minimal Kafka broker configuration with:
class { 'kafka::broker':
config => {
'broker.id' => '0',
'zookeeper.connect' => 'localhost:2181'
}
}
The reference documentation of this module is generated using puppetlabs/puppetlabs-strings.
This module only supports Kafka >= 0.9.0.0.
This module is tested on the following platforms:
- Debian 8
- Debian 9
- Debian 10
- Ubuntu 16.04
- Ubuntu 18.04
- CentOS 7
It is tested with the OSS version of Puppet (>= 5.5) only.
This module has grown over time based on a range of contributions from people using it. If you follow these contributing guidelines your patch will likely make it into a release a little more quickly.
This module is maintained by Vox Pupuli. It was originally written and maintained by Liam Bennett.