kafka_cluster

Соответствует стандартам CiS Лицензия Apache Последний релиз на GitHub

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

Автор

Abhishek Dubey

О проекте

Ansible role for setting up the kafka cluster with zookeeper

Установить
ansible-galaxy install OT-OSM/kafka_cluster
Лицензия
Unknown
Загрузки
144
Владелец