AnsibleShipyard.ansible-zookeeper

ansible-zookeeper

Statut de construction

Playbook ZooKeeper pour Ansible

Installation

ansible-galaxy install AnsibleShipyard.ansible-zookeeper

Dépendances

Java

Exigences

Version d'Ansible au moins 1.6

Variables de rôle

---
zookeeper_version: 3.4.12
zookeeper_url: http://www.us.apache.org/dist/zookeeper/zookeeper-{{zookeeper_version}}/zookeeper-{{zookeeper_version}}.tar.gz

# Indicateur qui sélectionne si systemd ou upstart sera utilisé pour le service d'initialisation :
# Remarque : par défaut, Ubuntu 15.04 et versions ultérieures utilisent systemd (mais prennent en charge le passage à upstart)
zookeeper_debian_systemd_enabled: "{{ ansible_distribution_version|version_compare(15.04, '>=') }}"
zookeeper_debian_apt_install: false
# (Optionnel :) ajouter des dépôts 'ppa' personnalisés selon la version de la distribution (uniquement avec debian_apt_install=true)
# Exemple : pour utiliser un paquet deb zookeeper v3.4.8 pour Ubuntu 14.04 (où la dernière version officielle est 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}} # ou /usr/share/zookeeper lorsque zookeeper_debian_apt_install est vrai
zookeeper_conf_dir: {{zookeeper_dir}} # ou /etc/zookeeper lorsque zookeeper_debian_apt_install est vrai
zookeeper_tarball_dir: /opt/src

zookeeper_hosts_hostname: "{{inventory_hostname}}"
# Liste de dictionnaires (c'est-à-dire {zookeeper_hosts:[{host:,id:},{host:,id:},...]})
zookeeper_hosts:
  - host: "{{zookeeper_hosts_hostname}}" # la machine en cours d'exécution
    id: 1

# Dictionnaire des paramètres d'ENV à écrire dans le fichier (optionnel) conf/zookeeper-env.sh
zookeeper_env: {}

# Contrôle la génération de myid de Zookeeper
zookeeper_force_myid: yes

Exemple de Playbook

- name: Installer ZooKeeper
  hosts: all
  sudo: yes
  roles:
    - role: AnsibleShipyard.ansible-zookeeper

Exemple de Récupération de Tarball Depuis S3

- name: Installer ZooKeeper
  hosts: all
  sudo: yes
  vars:
    zookeeper_archive_s3_bucket: mon-bucket-s3
    zookeeper_archive_s3_object: mon/répertoire/s3/zookeeper-{{zookeeper_version}}.tar.gz
  roles:
    - role: AnsibleShipyard.ansible-zookeeper

Exemple de Cluster

- name: Configuration du cluster Zookeeper
  hosts: zookeepers
  sudo: yes
  roles:
    - role: AnsibleShipyard.ansible-zookeeper
      zookeeper_hosts: "{{groups['zookeepers']}}"

Assurant que zookeepers est un groupe d'hôtes défini dans le fichier d'inventaire.

[zookeepers]
server[1:3]

IP personnalisée par groupe d'hôtes

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 -}}"

Voir cet exemple de playbook qui montre comment utiliser ce playbook ainsi que d'autres. Il fait partie de ansible-galaxy-roles et sert de curation (et donc d'exemple) de tous nos playbooks ansible.

Licence

La Licence MIT (MIT)

Droits d'auteur (c) 2014 Kien Pham

La permission est accordée, sans frais, à toute personne obtenant une copie de ce logiciel et des fichiers de documentation associés (le "Logiciel"), de traiter dans le Logiciel sans restriction, y compris sans limitation les droits d'utiliser, de copier, de modifier, de fusionner, de publier, de distribuer, de sous-licencier et/ou de vendre des copies du Logiciel, et de permettre aux personnes à qui le Logiciel est fournit de le faire, sous réserve des conditions suivantes :

L'avis de droit d'auteur ci-dessus et cet avis de permission doivent être inclus dans toutes les copies ou parties substantielles du Logiciel.

LE LOGICIEL EST FOURNI "TEL QUEL", SANS GARANTIE D'AUCUNE SORTE, EXPRESSE OU IMPLICITE, Y COMPRIS MAIS SANS S'EFFRAYER AUX GARANTIES DE COMMERCIALISATION, D'ADÉQUATION À UN BUT PARTICULIER ET DE NON-VIOLATION. EN AUCUN CAS LES AUTEURS OU DÉTENTEURS DES DROITS D'AUTEUR NE SERONT RESPONSABLES DE TOUTE RÉCLAMATION, DOMMAGE OU AUTRE RESPONSABILITÉ, QU'IL S'AGISSE D'UN CONTRAT, D'UN DÉLIT OU AUTRE, DÉCOULANT DE, OU EN LIEN AVEC LE LOGICIEL OU L'UTILISATION OU D'AUTRES ÉCHANGES DANS LE LOGICIEL.

AnsibleShipyard

Nos playbooks associés

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

Informations sur l'auteur

@AnsibleShipyard/developers et autres.

À propos du projet

Ansible Zookeeper Role

Installer
ansible-galaxy install AnsibleShipyard.ansible-zookeeper
Licence
mit
Téléchargements
288.8k
Propriétaire
Ansible Roles with a touch of Docker