zookeeper
Ansible Роль: ZooKeeper
Ansible Роль, которая управляет установкой и настройкой Apache ZooKeeper.
Переменные роли
Доступные переменные перечислены ниже, вместе с значениями по умолчанию (см. defaults/main.yml
):
zookeeper_version: 3.6.2
Версия приложения ZooKeeper.
zookeeper_dir: /opt/zookeeper
Каталог файлов приложения.
zookeeper_data_dir: /var/zookeeper
Каталог данных сервера.
zookeeper_conf_dir: /etc/zookeeper
Каталог конфигурации сервера.
zookeeper_log_dir: /var/log/zookeeper
Каталог логов сервера.
zookeeper_log_file: zookeeper.log
Имя файла логов.
zookeeper_log_level: INFO
Уровень логирования.
zookeeper_log_max_file_size: 265MB
Максимальный размер файла логов перед ротацией.
zookeeper_log_max_backup_index: 20
Максимальное количество файлов логов для хранения.
zookeeper_client_port: 2181
Порт, на который могут подключаться клиенты.
zookeeper_init_limit: 5
zookeeper_sync_limit: 2
zookeeper_tick_time: 2000
Смотрите официальную документацию ZooKeeper для получения деталей.
zookeeper_members: "{{ groups['all'] | map('extract', hostvars, 'ansible_default_ipv4') | map(attribute='address') | list }}"
Члены кластера ZooKeeper. Принимает список имен хостов, FQDN или IP.
zookeeper_member_id: "{{ ansible_default_ipv4.address }}"
ID текущего члена кластера (индекс имени хоста, FQDN или IP в списке zookeeper_members
).
zookeeper_server_username: foo
zookeeper_server_password: foz
Аутентификация на основе SASL для связи между членами кластера.
zookeeper_clients:
- username: bar
password: baz
Аутентификация на основе SASL для клиентов.
zookeeper_jmx_host: 127.0.0.1
Имя хоста/IP, на который будет доступен JMX.
zookeeper_jmx_port: 9181
Порт удаленного агента JMX.
zookeeper_jmx_rmi_port: 9182
Порт RMI соединителя.
zookeeper_jmx_username: foz
Имя пользователя JMX.
zookeeper_jmx_password: baz
Пароль пользователя JMX.
zookeeper_jmx_role: readonly
Роль пользователя JMX.
zookeeper_4lw_commands_whitelist: srvr,stat,mntr
Разрешение команд ZooKeeper 4lw commands.
zookeeper_global_outstanding_limit: 1000
см. Руководство администратора ZooKeeper.
zookeeper_prealloc_size: 64M
см. Руководство администратора ZooKeeper.
zookeeper_snap_count: 100000
см. Руководство администратора ZooKeeper.
zookeeper_max_client_cnxns: 10
см. Руководство администратора ZooKeeper.
zookeeper_min_session_timeout: "{{ 2 * zookeeper_tick_time }}"
см. Руководство администратора ZooKeeper.
zookeeper_max_session_timeout: "{{ 20 * zookeeper_tick_time }}"
см. Руководство администратора ZooKeeper.
zookeeper_autopurge_snapretain_count: 10
см. Рекомендации по использованию Clickhouse для ZooKeeper.
zookeeper_purge_interval: 1
см. Рекомендации по использованию Clickhouse для ZooKeeper.
zookeeper_fsync_warning_threshold_ms: 1000
см. Руководство администратора ZooKeeper.
zookeeper_heap_size: 1024
Размер кучи JVM в МБ.
Зависимости
Пример плейбука
- hosts: all
roles:
- nl2go.zookeeper
Разработка
Используйте docker-molecule следуя инструкциям для запуска Molecule или установите Molecule локально (не рекомендуется, могут возникнуть конфликты версий).
Предоставьте токен Hetzner Cloud:
export HCLOUD_TOKEN=123abc456efg
Используйте следующее для запуска тестов:
molecule test --all
Содержатели
Лицензия
Смотрите файл LICENSE.md для получения подробностей.
Информация об авторе
Эта роль была создана в 2020 году компанией Newsletter2Go GmbH.
An Ansible Role that manages installation and configuration of Apache ZooKeeper
ansible-galaxy install nl2go/ansible-role-zookeeper