AnsibleShipyard.ansible-zookeeper
ansible-zookeeper
Playbook de ZooKeeper para Ansible
Instalación
ansible-galaxy install AnsibleShipyard.ansible-zookeeper
Dependencias
Java
Requisitos
Versión de Ansible al menos 1.6
Variables de Rol
---
zookeeper_version: 3.4.12
zookeeper_url: http://www.us.apache.org/dist/zookeeper/zookeeper-{{zookeeper_version}}/zookeeper-{{zookeeper_version}}.tar.gz
# Bandera que selecciona si se usará systemd o upstart para el servicio de inicio:
# Nota: por defecto, Ubuntu 15.04 y versiones posteriores utilizan systemd (pero soportan el cambio a upstart)
zookeeper_debian_systemd_enabled: "{{ ansible_distribution_version|version_compare(15.04, '>=') }}"
zookeeper_debian_apt_install: false
# (Opcional:) agregar repositorios 'ppa' personalizados dependiendo de la versión de la distribución (solo con debian_apt_install=true)
# Ejemplo: para usar un paquete deb de comunidad zookeeper v3.4.8 para Ubuntu 14.04 (donde el último oficial es v3.4.5)
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}} # o /usr/share/zookeeper cuando zookeeper_debian_apt_install es true
zookeeper_conf_dir: {{zookeeper_dir}} # o /etc/zookeeper cuando zookeeper_debian_apt_install es true
zookeeper_tarball_dir: /opt/src
zookeeper_hosts_hostname: "{{inventory_hostname}}"
# Lista de diccionarios (i.e. {zookeeper_hosts:[{host:,id:},{host:,id:},...]})
zookeeper_hosts:
- host: "{{zookeeper_hosts_hostname}}" # la máquina en funcionamiento
id: 1
# Diccionario de configuraciones de ENV que se escribirán en el (opcional) conf/zookeeper-env.sh
zookeeper_env: {}
# Controla la generación de myid de Zookeeper
zookeeper_force_myid: yes
Ejemplo de Playbook
- name: Instalando ZooKeeper
hosts: all
sudo: yes
roles:
- role: AnsibleShipyard.ansible-zookeeper
Ejemplo de Recuperación de Tarball Desde S3
- name: Instalando 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
Ejemplo de Clúster
- name: Configuración del clúster de Zookeeper
hosts: zookeepers
sudo: yes
roles:
- role: AnsibleShipyard.ansible-zookeeper
zookeeper_hosts: "{{groups['zookeepers']}}"
Suponiendo que zookeepers
es un grupo de hosts definido en el archivo de inventario.
[zookeepers]
server[1:3]
IP personalizada por grupo de hosts
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 -}}"
Mira este playbook de ejemplo que muestra cómo usar este playbook así como otros. Es parte de ansible-galaxy-roles y sirve como una curaduría (y, por lo tanto, un ejemplo) de todos nuestros playbooks de ansible.
Licencia
La Licencia MIT (MIT)
Copyright (c) 2014 Kien Pham
Se otorga permiso, de forma gratuita, a cualquier persona que obtenga una copia de este software y archivos de documentación asociados (el "Software"), para tratar en el Software sin restricción, incluyendo sin limitación los derechos a usar, copiar, modificar, fusionar, publicar, distribuir, sublicenciar y/o vender copias del Software, y a permitir a las personas a quienes se les proporcione el Software hacerlo, sujeto a las siguientes condiciones:
Se incluirá el aviso de copyright anterior y este aviso de permiso en todas las copias o partes sustanciales del Software.
EL SOFTWARE SE PROPORCIONA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITA, INCLUYENDO PERO NO LIMITÁNDOSE A GARANTÍAS DE COMERCIABILIDAD, ADECUACIÓN A UN PROPÓSITO PARTICULAR Y NO INFRACCIÓN. EN NINGÚN CASO LOS AUTORES O TITULARES DE LOS DERECHOS DE AUTOR SERÁN RESPONSABLES DE NINGÚN RECLAMO, DAÑO O OTRA RESPONSABILIDAD, YA SEA EN UNA ACCIÓN DE CONTRATO, AGRAVIO O DE OTRA MANERA, QUE SURJA DE, FUERA DE O EN CONEXIÓN CON EL SOFTWARE O EL USO U OTRAS MANERAS DE TRATOS EN EL SOFTWARE.
AnsibleShipyard
Nuestros playbooks relacionados
Información del Autor
@AnsibleShipyard/desarrolladores y otros.
ansible-galaxy install AnsibleShipyard.ansible-zookeeper