This cookbook is using the confluent rpm
and deb
repositories to install the confluent-platform
v2 packages. It will create a user confluent
and init scripts for kafka
zookeeper
, schema-registry
and kafka-rest
.
It comes with multiple recipes: confluent-cookbook::default
, confluent-cookbook::zookeeper
,confluent-cookbook::kafka
confluent-cookbook::kafka-schema-registry
and confluent-cookbook::kafka-rest
.
Instead of maintaining configuration templates, chef configuration properties will be added as server.properties
, zookeeper.properties
, schema-registry.properties
and kafka-rest.properties
files.
Example Kafka:
default["confluent"]["kafka"]["server.properties"]["broker.id"] = "0"
default["confluent"]["kafka"]["server.properties"]["port"] = "9092"
...
will look like this in the /etc/kafka/server.properties
broker.id=0
port=9092
...
Example ZooKeeper:
default["confluent"]["kafka"]["zookeeper.properties"]["dataDir"] = "/tmp/zookeeper"
default["confluent"]["kafka"]["zookeeper.properties"]["clientPort"] = "2181"
...
will look like this in the /etc/kafka/zookeeper.properties
dataDir=/tmp/zookeeper
clientPort=2181
...
Right now Kafka, ZooKeeper, the Schema-Registry and Kafka-REST can be configured.
In order to be able to run vagrant you need to run berks init
and you have to install vagrant-berkshelf
via vagrant plugin install vagrant-berkshelf
. Afterwards run vagrant up
.
Right now it has been tested with:
- CentOS 7.x
- Ubuntu 14.04 (where it seems to hang sometimes during installation)
You need to install your desired JRE yourself, see Vagrantfile
as an example.
At some point this project might have a travis build job.