Browse the Repo

file-type-icon.circleci
file-type-iconexamples
file-type-iconconfluent-oss-ami
file-type-iconkafka-ami
file-type-iconkafka-zookeeper-confluent-oss-ami
file-type-iconkafka-zookeeper-confluent-oss-colocated-cl...
file-type-iconkafka-zookeeper-confluent-oss-standalone-c...
file-type-iconuser-data
file-type-iconREADME.md
file-type-iconmain.tf
file-type-iconoutputs.tf
file-type-iconvars.tf
file-type-iconkafka-zookeeper-standalone-clusters
file-type-iconzookeeper-ami
file-type-iconmodules
file-type-icontest
file-type-icon.gitignore
file-type-icon.pre-commit-config.yaml
file-type-iconCODEOWNERS
file-type-iconLICENSE.txt
file-type-iconREADME.md
file-type-iconterraform-cloud-enterprise-private-module-...

Browse the Repo

file-type-icon.circleci
file-type-iconexamples
file-type-iconconfluent-oss-ami
file-type-iconkafka-ami
file-type-iconkafka-zookeeper-confluent-oss-ami
file-type-iconkafka-zookeeper-confluent-oss-colocated-cl...
file-type-iconkafka-zookeeper-confluent-oss-standalone-c...
file-type-iconuser-data
file-type-iconREADME.md
file-type-iconmain.tf
file-type-iconoutputs.tf
file-type-iconvars.tf
file-type-iconkafka-zookeeper-standalone-clusters
file-type-iconzookeeper-ami
file-type-iconmodules
file-type-icontest
file-type-icon.gitignore
file-type-icon.pre-commit-config.yaml
file-type-iconCODEOWNERS
file-type-iconLICENSE.txt
file-type-iconREADME.md
file-type-iconterraform-cloud-enterprise-private-module-...
Apache Kafka and Confluent Tools

Apache Kafka and Confluent Tools

Deploy a cluster of Kafka brokers. Optionally deploy Confluent tools such as Schema Registry, REST Proxy, and Kafka Connect.

Code Preview

Preview the Code

mobile file icon

README.md

down

Kafka/Kafka Connect, ZooKeeper, and REST Proxy/Schema Registry Standalone Clusters Example

This folder shows an example of how to use the kafka-cluster, zookeeper-cluster and confluent-tools-cluster modules to run the following server clusters:

  • Kafka brokers, Kafka Connect workers
  • Zookeeper
  • Schema Registry, REST Proxy

To clarify, each of the above clusters runs in a separate Auto Scaling Group.

This is our recommended deployment configuration for running the Confluent Platform in production because it allows you to scale Kafka, ZooKeeper and the Confluent Tools (Schema Registry and REST Proxy) separately to handle huge amounts of data. However, this requires running and managing more servers, so if you have a smaller deployment, check out the kafka-zookeeper-confluent-oss-colocated-cluster example for how to run everything in the same cluster.

How do you run this example?

To run this example, you need to do the following:

  1. Build the Kafka AMI
  2. Build the ZooKeeper AMI
  3. Build the Confluent Open Source Tools AMI
  4. Apply the Terraform code
  5. Connect to:
    • Kafka
    • REST Proxy
    • Schema Registry
    • Kafka Connect

Build the Kafka AMI

See the kafka-ami docs.

Build the ZooKeeper AMI

See the zookeeper-ami docs.

Build the Confluent Open Source AMI

See the confluent-oss-ami docs.

Apply the Terraform code

To apply the Terraform templates:

  1. Install Terraform
  2. Open vars.tf, set the environment variables specified at the top of the file, and fill in any other variables that don't have a default. This includes setting the ami_id variable to the ID of the AMI you just built.
  3. Run terraform init.
  4. Run terraform plan.
  5. If the plan looks good, run terraform apply.

Connect to Kafka

Check out Connecting to Kafka brokers for instructions.

Connect to Kafka Connect

Check out Connecting to Kafka Connect for instructions.

Connect to REST Proxy

Check out Connecting to The Confluent Tools for instructions.

Connect to Schema Registry

Check out Connecting to The Confluent Tools for instructions.

Questions? Ask away.

We're here to talk about our services, answer any questions, give advice, or just to chat.

Ready to hand off the Gruntwork?