AnsibleShipyard.ansible-zookeeper

ansible-zookeeper

Estado de Construcción

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

  1. ansible-mesos
  2. ansible-marathon
  3. ansible-chronos
  4. ansible-zookeeper

Información del Autor

@AnsibleShipyard/desarrolladores y otros.

Acerca del proyecto

Ansible Zookeeper Role

Instalar
ansible-galaxy install AnsibleShipyard.ansible-zookeeper
Licencia
mit
Descargas
288.8k
Propietario
Ansible Roles with a touch of Docker