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

Наши связанные плейбуки

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

Информация об авторе

@AnsibleShipyard/developers и другие.

О проекте

Ansible Zookeeper Role

Установить
ansible-galaxy install AnsibleShipyard/ansible-zookeeper
Лицензия
mit
Загрузки
288809
Владелец
Ansible Roles with a touch of Docker