The aim of this project is to deploy a Zookeeper cluster on Vagrant instances.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
What things you need to run this Ansible playbook :
- Vagrant must be installed on your computer
- Update the Vagrant file based on your computer (CPU, memory), if needed
- Update the operating system to deploy in the Vagrant file (default: Ubuntu)
- Download the Ansible requirements:
$ ansible-galaxy install -r requirements.yml
A good point with Vagrant is that you can create, update and destroy all architecture easily with some commands.
Be aware that you need to be in the Vagrant directory to be able to run the commands.
To deploy Zookeeper on Vagrant instances, just run this command :
$ vagrant up
If everything run as expected, you should be able to list the virtual machine created :
$ vagrant status
Current machine states:
zookeeper01 running (virtualbox)
zookeeper02 running (virtualbox)
zookeeper03 running (virtualbox)
If everything run as expected, you should be able to connect to a Zookeeper server with the CLI :
$ bin/zkCli.sh -server 10.0.0.141:2181
Connecting to 10.0.0.141:2181
Welcome to ZooKeeper!
JLine support is enabled
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
[zk: 10.0.0.141:2181(CONNECTED) 0]
To destroy the Vagrant resources created, just run this command :
$ vagrant destroy
This section list some simple command to use and manage the playbook and the Vagrant hosts.
To update the Zookeeper cluster configuration with Ansible, you just have to run the Ansible playbook zookeeper.yml with this command :
$ ansible-playbook zookeeper.yml
To update the Zookeeper cluster configuration with Vagrant, you just have to run provisioning part of the Vagrant file :
$ vagrant provision
To be able to connect to a Vagrant instance, you should use the CLI which is configured to automatically use the default SSH key :
$ vagrant ssh zookeeper01
Member of Wikitops : https://www.wikitops.io/
This project is licensed under the Apache License, Version 2.0. For the full text of the license, see the LICENSE file.