Kafka Chef Cookbook
Description
Chef cookbook for Apache Kafka, publish-subscribe messaging rethought as a distributed commit log.
- Website: http://hw-cookbooks.github.io/kafka/
- Source Code: https://github.com/hw-cookbooks/kafka
- IRC Help: Freenode#heavywater
Usage
Simply include recipe[kafka]
in your run_list and Kafka will be installed.
Note that this presumes you already have ZooKeeper instance(s) up and running
for the brokers to connect to. You have the option of including the kafka::zookeeper
recipe in your node's run list before the kafka default recipe to get zookeeper up and running.
Requirements
Chef
Tested on 11.10.0 but newer and older versions (of 11) should work just fine. File an issue if this isn't the case.
Platform
The following platforms have been tested with this cookbook, meaning that the recipes run on these platforms without error:
- ubuntu (12.04)
- centos (6.4)
Please report any additional platforms so they can be added.
Cookbooks
This cookbook depends on the following external cookbooks:
Recipes
default
This recipe downloads, installs, configures, and enables kafka.
discovery
This recipe discovers other ZooKeeper cluster instances and augments the
node[:kafka][:config]
configuration hash.
Attributes
node[:kafka][:auto_discovery]
- whether or not to perform auto discovery via the discovery recipe (defaults totrue
)node[:kafka][:build_commands]
- commands to compile Kafka (defaults depends on version of Kafka, see attributes::default)node[:kafka][:conf_dir]
- configuration directory (defaults to"/etc/kafka/conf"
)node[:kafka][:config]
- Kafka configuration has which will be rendered into kafka.properties (defaults depends on version of Kafka, see attributes::config)node[:kafka][:data_dir]
- data directory for storage (defaults to"/var/kafka"
)node[:kafka][:download_url]
- full URL for downloading the distribution (defaults depends on version of Kafka, see attributes::default)node[:kafka][:group]
- group that runs the Kafka service (defaults to"kafka"
)node[:kafka][:install_dir]
- base installation directory (defaults to"/opt/kafka"
)node[:kafka][:log_dir]
- log directory (defaults to"/var/log/kafka"
)node[:kafka][:user]
- user that runs the Kafka service (defaults to"kafka"
)node[:kafka][:runtime_dir]
- directory in which Kafka will start (defaults to"/tmp"
)node[:kafka][:version]
- version of Kafka to install (defaults to"0.7.2"
)
Resources and Providers
There are no resources and providers.
Development
- Source hosted at GitHub
- Report issues/Questions/Feature requests on GitHub Issues
Pull requests are very welcome! Make sure your patches are well tested. Ideally create a topic branch for every separate change you make.
License and Author
Author:: Heavy Water Operations
Copyright 2011, 2012, 2013, 2014 Heavy Water Operations, LLC
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.