If you haven’t used Vagrant before then hopefully this will not only help you get up and running with Apache Kafka but also get introduced to Vagrant. Vagrant helps to create and configure lightweight, reproducible, and portable development environments. With Vagrant run a single command — “vagrant up” — and sit back as Vagrant puts together your complete development environment. Say goodbye to the “works on my machine” excuse as Vagrant creates identical development environments for everyone on your team. To learn more about Apache Kafka checkout our website.
To get up and running with Apache Kafka using Vagrant
For the latest release of Apache Kafka 0.8.0 I have added the ability to use Vagrant.
1) git clone https://github.com/stealthly/kafka
2) cd kafka
3) ./sbt update
4) ./sbt package
5) ./sbt assembly-package-dependency
6) vagrant up
Once this is done (it takes a little while for vagrant to launch the four virtual machines)
- Zookeeper will be running 192.168.50.5
- Broker 1 on 192.168.50.10
- Broker 2 on 192.168.50.20
- Broker 3 on 192.168.50.30
When you are all up and running you will be back at a command prompt.
If you want you can login to the machines using vagrant ssh <machineName> but you don’t need to.
You can access the brokers and zookeeper by their IP
bin/kafka-create-topic.sh --zookeeper 192.168.50.5:2181 --replica 3 --partition 1 --topic sandbox bin/kafka-console-producer.sh --broker-list 192.168.50.10:9092,192.168.50.20:9092,192.168.50.30:9092 --topic sandbox bin/kafka-console-consumer.sh --zookeeper 192.168.50.5:2181 --topic sandbox --from-beginning
A patch is pending for the 0.8.1 release to have this go back upstream.