ansible-zookeeper
ansible-zookeeper
Плейбук ZooKeeper для Ansible
Установка
ansible-galaxy install AnsibleShipyard.ansible-zookeeper
Зависимости
Java
Требования
Версия Ansible не ниже 1.6
Переменные роли
---
zookeeper_version: 3.4.12
zookeeper_url: http://www.us.apache.org/dist/zookeeper/zookeeper-{{zookeeper_version}}/zookeeper-{{zookeeper_version}}.tar.gz
# Флаг, выбирающий, будет ли использоваться systemd или upstart для init-сервиса:
# Примечание: по умолчанию Ubuntu 15.04 и более поздние версии используют systemd (но поддерживают переключение на upstart)
zookeeper_debian_systemd_enabled: "{{ ansible_distribution_version|version_compare(15.04, '>=') }}"
zookeeper_debian_apt_install: false
# (Дополнительно:) добавьте пользовательские 'ppa' репозитории в зависимости от версии дистрибутива (только с debian_apt_install=true)
# Пример: использование пакета сообщества zookeeper v3.4.8 для Ubuntu 14.04 (где последняя официальная версия 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}} # или /usr/share/zookeeper, если zookeeper_debian_apt_install=true
zookeeper_conf_dir: {{zookeeper_dir}} # или /etc/zookeeper, если zookeeper_debian_apt_install=true
zookeeper_tarball_dir: /opt/src
zookeeper_hosts_hostname: "{{inventory_hostname}}"
# Список словарей (т.е. {zookeeper_hosts:[{host:,id:},{host:,id:},...]})
zookeeper_hosts:
- host: "{{zookeeper_hosts_hostname}}" # машина, на которой запущен
id: 1
# Словарь настроек ENV, которые будут записаны в (необязательный) conf/zookeeper-env.sh
zookeeper_env: {}
# Управляет генерацией myid для Zookeeper
zookeeper_force_myid: yes
Пример Плейбука
- name: Установка ZooKeeper
hosts: all
sudo: yes
roles:
- role: AnsibleShipyard.ansible-zookeeper
Пример извлечения tarball из S3
- name: Установка 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
Пример кластера
- name: Настройка кластера Zookeeper
hosts: zookeepers
sudo: yes
roles:
- role: AnsibleShipyard.ansible-zookeeper
zookeeper_hosts: "{{groups['zookeepers']}}"
Предполагается, что zookeepers
— это группа хостов, определенная в инвентарном файле.
[zookeepers]
server[1:3]
Пользовательский IP для группы хостов
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 -}}"
Смотрите этот образец плейбука, который показывает, как использовать этот плейбук, а также другие. Он является частью ansible-galaxy-roles и служит коллекцией (и, следовательно, примером) всех наших ansible плейбуков.
Лицензия
Лицензия MIT (MIT)
Авторские права (c) 2014 Kien Pham
Настоящим предоставляется разрешение, безвозмездно, любому лицу, получившему копию этого программного обеспечения и сопроводительных документов (далее - "Программное обеспечение"), использовать это Программное обеспечение без ограничений, включая, но не ограничиваясь правами использовать, копировать, модифицировать, объединять, публиковать, распространять, предоставлять лицензии и/или продавать копии Программного обеспечения, а также разрешать лицам, которым Программное обеспечение предоставлено, делать это, при условии выполнения следующих условий:
Указанное выше авторское право и данное разрешение должны быть включены во все копии или значительные части Программного обеспечения.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ "КАК ЕСТЬ", БЕЗ ГАРАНТИЙ ЛЮБОГО РОДА, ЯВНЫХ ИЛИ КОРТИЧНЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯ ГАРАНТИЯМИ ТОРГОВОЙ ПРИГОДНОСТИ, ПРИГОДНОСТИ ДЛЯ КОНКРЕТНЫХ ЦЕЛЕЙ И НЕНАРУШЕНИЯ. В НИКАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ДЕРЖАТЕЛИ АВТОРСКИХ ПРАВ НЕ НОСЯТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ИСКИ, УБЫТКИ ИЛИ ДРУГИЕ ОБЯЗАТЕЛЬСТВА, БУДУЩИЕ В РЕЗУЛЬТАТЕ, ИЛИ В СВЯЗИ С ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ ДРУГИХ ДЕЙСТВИЙ В ПРОГРАММНОМ ОБЕСПЕЧЕНИИ.
AnsibleShipyard
Наши связанные плейбуки
Информация об авторе
@AnsibleShipyard/developers и другие.
ansible-galaxy install AnsibleShipyard/ansible-zookeeper