AnsibleShipyard.ansible-zookeeper
Ansible-ZooKeeper
ZooKeeper Playbook for Ansible
Installation
To install the ZooKeeper role, run:
ansible-galaxy install AnsibleShipyard.ansible-zookeeper
Dependencies
You need Java:
Requirements
You must have Ansible version 1.6 or later.
Role Variables
Here are the variables you can configure:
---
zookeeper_version: 3.4.12
zookeeper_url: http://www.us.apache.org/dist/zookeeper/zookeeper-{{zookeeper_version}}/zookeeper-{{zookeeper_version}}.tar.gz
zookeeper_debian_systemd_enabled: "{{ ansible_distribution_version|version_compare(15.04, '>=') }}"
zookeeper_debian_apt_install: false
zookeeper_debian_apt_repositories:
- repository_url: "ppa:ufscar/zookeeper"
distro_version: "14.04"
apt_cache_timeout: 3600
zookeeper_register_path_env: false
client_port: 2181
init_limit: 5
sync_limit: 2
tick_time: 2000
zookeeper_autopurge_purgeInterval: 0
zookeeper_autopurge_snapRetainCount: 10
zookeeper_cluster_ports: "2888:3888"
zookeeper_max_client_connections: 60
data_dir: /var/lib/zookeeper
log_dir: /var/log/zookeeper
zookeeper_dir: /opt/zookeeper-{{zookeeper_version}}
zookeeper_conf_dir: {{zookeeper_dir}}
zookeeper_tarball_dir: /opt/src
zookeeper_hosts_hostname: "{{inventory_hostname}}"
zookeeper_hosts:
- host: "{{zookeeper_hosts_hostname}}"
id: 1
zookeeper_env: {}
zookeeper_force_myid: yes
Example Playbook
To install ZooKeeper, you can use this playbook:
- name: Installing ZooKeeper
hosts: all
sudo: yes
roles:
- role: AnsibleShipyard.ansible-zookeeper
Example Retrieving Tarball From S3
To install ZooKeeper from an S3 bucket, you can use this playbook:
- name: Installing ZooKeeper
hosts: all
sudo: yes
vars:
zookeeper_archive_s3_bucket: my-s3-bucket
zookeeper_archive_s3_object: my/s3/directory/zookeeper-{{zookeeper_version}}.tar.gz
roles:
- role: AnsibleShipyard.ansible-zookeeper
Cluster Example
To set up a ZooKeeper cluster, use this playbook:
- name: Zookeeper cluster setup
hosts: zookeepers
sudo: yes
roles:
- role: AnsibleShipyard.ansible-zookeeper
zookeeper_hosts: "{{groups['zookeepers']}}"
Make sure you have the zookeepers
group defined in your inventory file:
[zookeepers]
server[1:3]
You can customize IPs for each host group like this:
zookeeper_hosts: "
{%- set ips = [] %}
{%- for host in groups['zookeepers'] %}
{{- ips.append(dict(id=loop.index, host=host, ip=hostvars[host]['ansible_default_ipv4'].address)) }}
{%- endfor %}
{{- ips -}}"
For more examples, check out this sample playbook which demonstrates how to use this and other playbooks. This is part of the ansible-galaxy-roles collection.
License
This software is licensed under the MIT License.
Author Information
Developed by @AnsibleShipyard/developers and others.
Installa
ansible-galaxy install AnsibleShipyard.ansible-zookeeper
Licenza
mit
Download
288.8k
Proprietario
Ansible Roles with a touch of Docker