Using Vagrant to Get Up and Running with Apache Kafka
Join the DZone community and get the full member experience.Join For Free
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
1) Install Vagrant http://www.vagrantup.com/
2) Install Virtual Box https://www.virtualbox.org/
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.
Published at DZone with permission of Joe Stein, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
Building the World's Most Resilient To-Do List Application With Node.js, K8s, and Distributed SQL
The Role of AI and Programming in the Gaming Industry: A Look Beyond the Tables
Five Java Books Beginners and Professionals Should Read
Why You Should Consider Using React Router V6: An Overview of Changes