AnsibleShipyard.ansible-zookeeper
ansible-zookeeper
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
Informations sur l'auteur
@AnsibleShipyard/developers et autres.
ansible-galaxy install AnsibleShipyard.ansible-zookeeper