Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms

Select Status

RSS

kafka-cluster (9) Versions 1.3.3

Application cookbook which installs and configures Apache Kafka.

Policyfile
Berkshelf
Knife
cookbook 'kafka-cluster', '= 1.3.3', :supermarket
cookbook 'kafka-cluster', '= 1.3.3'
knife supermarket install kafka-cluster
knife supermarket download kafka-cluster
README
Dependencies
Changelog
Quality 50%

kafka-cluster-cookbook

Build Status
Code Quality
Cookbook Version
License

Application cookbook which installs and configures
Apache Kafka.

Apache Kafka is publish-subscribe messaging rethought as a distributed
commit log. This cookbook takes a simplified approach towards
configuring and installing Apache Kafka.

It is important to note that Apache Zookeeper is a required
component of deploying an Apache Kafka cluster. We have developed a
Zookeeper cluster cookbook which takes the same simplified
approach and works seamlessly here.

Basic Usage

This cookbook was designed from the ground up to make it dead simple
to install and configure an Apache Kafka cluster using Chef. It also
highlights several of our best practices for developing reusable Chef
cookbooks at Bloomberg.

This cookbook provides [node attributes](attributes/default.rb) which
can be used to fine tune the default recipe which installs and
configures Kafka. The values from the node attributes are passed
directly into the configuration and service resources.

Out of the box the following platforms are certified to work and
are tested using our Test Kitchen configuration. Additional platforms
may work, but your mileage may vary.
- CentOS (RHEL) 6.6, 7.1
- Ubuntu 12.04, 14.04

The correct way to use this cookbook is to create a wrapper cookbook
which configures all of the members of the Apache Kafka cluster. This
includes reading the Zookeeper ensemble (cluster) configuration and passing
that into Kafka as a parameter. In this example we use our Zookeeper Cluster
cookbook
to configure the ensemble on the same nodes.
```ruby
bag = data_bag_item('config', 'zookeeper-cluster')[node.chef_environment]
node.default['zookeeper-cluster']['config']['instance_name'] = node['ipaddress']
node.default['zookeeper-cluster']['config']['ensemble'] = bag['ensemble']
include_recipe 'zookeeper-cluster::default'

node.default['kafka-cluster']['config']['properties']['broker.id'] = node['ipaddress'].rpartition('.').last
node.default['kafka-cluster']['config']['properties']['zookeeper.connect'] = bag['ensemble'].map { |m| "#{m}:2181"}.join(',').concat('/kafka')
include_recipe 'kafka-cluster::default'
```

In the above example the Zookeeper ensemble configuration is read in
from a data bag. This is our suggested method for deploying using our
Zookeeper Cluster cookbook. But if you already have your
Zookeeper ensemble feel free to format the string zookeeper.connect
string appropriately.

Dependent cookbooks

java >= 0.0.0
libartifact ~> 1.3
poise ~> 2.2
poise-service ~> 1.0
selinux >= 0.0.0
sysctl >= 0.0.0
ulimit >= 0.0.0

Contingent cookbooks

There are no cookbooks that are contingent upon this one.

Change Log

All notable changes to this project will be documented in this file.
This project adheres to Semantic Versioning.

Unreleased

1.3.0

  • Adds support for configuring Kafka's log4j.

1.2.1

  • Adds property for configuring data directory.

1.2.0

  • Adds custom resource for creating Kafka topics.

Collaborator Number Metric
            

1.3.3 passed this metric

Contributing File Metric
            

1.3.3 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file

Foodcritic Metric
            

1.3.3 passed this metric

No Binaries Metric
            

1.3.3 passed this metric

Testing File Metric
            

1.3.3 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file

Version Tag Metric
            

1.3.3 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number