kafka_cluster
OSM: Kafka
Высококачественная роль Ansible, которая настроит кластер Kafka и Zookeeper.
Требования
Единственное требование для этой роли — Java.
Вы можете найти нашу роль для Java здесь
Переменные роли
Мы разделили переменные на две категории: Обязательные и Необязательные
Обязательные переменные
Переменные | Значения по умолчанию | Возможные значения | Описание |
---|---|---|---|
zookeeper_data_dir | /opt/zookeeper |
Любая директория Linux | Директория данных, где Zookeeper будет хранить информацию |
installation_dir | /opt |
Любая директория Linux | Директория, в которой вы хотите установить Kafka |
kafka_major_version | 2.12 |
Любая действительная версия Kafka | Основная версия релиза Kafka |
kafka_minor_version | 2.2.1 |
Любая действительная версия Kafka | Минорная версия релиза Kafka |
Необязательные переменные
Переменные | Значения по умолчанию | Возможные значения | Описание |
---|---|---|---|
kafka_service_user_name | kafka |
Имя пользователя для сервиса Kafka | Имя системного пользователя Kafka, от имени которого будут выполняться все операции |
kafka_service_group_name | kafka |
Имя группы для сервиса Kafka | Имя системной группы Kafka |
kafka_logs_dir | /var/log/kafka |
Любая директория Linux | Директория, где Kafka будет генерировать логи |
zk_client_port | 2181 |
Любой номер порта Linux | Порт клиента Zookeeper для подключения |
init_limit | 5 |
Любое целое число | initLimit — это тайм-аут, который Zookeeper использует для ограничения времени подключения серверов Zookeeper к лидеру |
sync_limit | 2 |
Любое целое число | syncLimit ограничивает, насколько давно сервер может быть отстающим от лидера |
tick_time | 2000 |
Любое целое число | Основная единица времени в миллисекундах, используемая Zookeeper. Используется для heartbeat'ов, минимальное время таймаута сессии будет в два раза больше tickTime |
max_memory_heap | -Xmx256M |
Размер памяти JVM | Максимальный размер кучи Kafka, который нужно изменить в зависимости от конфигурации сервера |
min_memory_heap | -Xmx128M |
Размер памяти JVM | Минимальный размер кучи Kafka, который нужно изменить в зависимости от конфигурации сервера |
Инвентаризация
Инвентаризация должна выглядеть следующим образом:
[zookeeper] # Информация о хостах и идентификаторах для Zookeeper
zookeeper1 zookeeper_id=1
zookeeper2 zookeeper_id=2
zookeeper3 zookeeper_id=3
[kafka] # Информация о хостах и идентификаторах брокеров для Kafka
kafka1 kafka_broker_id=1
kafka2 kafka_broker_id=2
kafka3 kafka_broker_id=3
[kafka_cluster:children] # Родительская группа для групп kafka и zookeeper
zookeeper
kafka
[kafka_cluster:vars] # Переменные для родительской группы kafka_cluster
ansible_user=ubuntu
Пример плейбука
Вот пример плейбука:
---
- hosts: kafka_cluster
roles:
- role: osm_kafka_cluster
become: yes
Использование
Для использования этой роли просто выполните плейбук:
ansible-playbook -i hosts site.yml
Запуск тестов для настройки
Для выполнения тестов у нас есть отдельная папка с именем inspec. Inspec (https://www.inspec.io/) должен быть установлен, если вы хотите запустить тесты.
Команда для выполнения:
inspec exec . -t ssh://username@server_ip -i /path/to/keyfile
Автор
О проекте
Ansible role for setting up the kafka cluster with zookeeper
Установить
ansible-galaxy install OT-OSM/kafka_cluster
Лицензия
Unknown
Загрузки
147
Владелец