AnsibleShipyard.ansible-zookeeper

Ansible-ZooKeeper

Build Status

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.

Informazioni sul progetto

Ansible Zookeeper Role

Installa
ansible-galaxy install AnsibleShipyard.ansible-zookeeper
Licenza
mit
Download
288.8k
Proprietario
Ansible Roles with a touch of Docker