opstree_devops.kafka_cluster
OSM: Kafka
Un rol de Ansible avanzado que configurará un clúster de Kafka y Zookeeper.
Requisitos
El único requisito para este rol es Java.
Puedes encontrar nuestro rol de Java aquí.
Variables del Rol
Hemos clasificado las variables en dos partes: Obligatorias y Opcionales.
Variables Obligatorias
Variables | Valores Predeterminados | Valores Posibles | Descripción |
---|---|---|---|
zookeeper_data_dir | /opt/zookeeper |
Cualquier directorio de Linux | Directorio de datos donde Zookeeper almacenará su información |
installation_dir | /opt |
Cualquier directorio de Linux | Directorio donde deseas instalar Kafka |
kafka_major_version | 2.12 |
Cualquier versión válida de Kafka | Versión principal del lanzamiento de Kafka |
kafka_minor_version | 2.2.1 |
Cualquier versión válida de Kafka | Versión menor del lanzamiento de Kafka |
Variables Opcionales
Variables | Valores Predeterminados | Valores Posibles | Descripción |
---|---|---|---|
kafka_service_user_name | kafka |
Nombre de usuario del servicio para Kafka | Nombre de usuario del sistema Kafka desde donde se ejecutarán todas las cosas |
kafka_service_group_name | kafka |
Nombre de grupo del servicio para Kafka | Nombre de grupo del sistema Kafka desde donde se ejecutarán todas las cosas |
kafka_logs_dir | /var/log/kafka |
Cualquier directorio de Linux | Directorio donde Kafka generará logs |
zk_client_port | 2181 |
Cualquier número de puerto de Linux | Puerto del cliente Zookeeper para conexión |
init_limit | 5 |
Cualquier número entero | initLimit es el tiempo que Zookeeper utiliza para limitar la duración de tiempo que los servidores Zookeeper en quórum tienen para conectarse a un líder |
sync_limit | 2 |
Cualquier número entero | El entry syncLimit limita cuán desactualizado puede estar un servidor con respecto a un líder |
tick_time | 2000 |
Cualquier número entero | La unidad de tiempo básica en milisegundos utilizada por Zookeeper. Se usa para hacer latidos y el tiempo mínimo de sesión será el doble de tickTime |
max_memory_heap | -Xmx256M |
Tamaño de memoria de la JVM | Este es el tamaño máximo de la memoria de Kafka que debe cambiarse según la configuración del servidor |
min_memory_heap | -Xmx128M |
Tamaño de memoria de la JVM | Este es el tamaño mínimo de la memoria de Kafka que debe cambiarse según la configuración del servidor |
Inventario
Un inventario debería verse así:
[zookeeper] # Información de Host e Id para Zookeeper
zookeeper1 zookeeper_id=1
zookeeper2 zookeeper_id=2
zookeeper3 zookeeper_id=3
[kafka] # Información de Host e Id de broker para Kafka
kafka1 kafka_broker_id=1
kafka2 kafka_broker_id=2
kafka3 kafka_broker_id=3
[kafka_cluster:children] # Grupo padre para los grupos de Kafka y Zookeeper
zookeeper
kafka
[kafka_cluster:vars] # Variables para el grupo padre kafka_cluster
ansible_user=ubuntu
Ejemplo de Playbook
Aquí hay un ejemplo de playbook:
---
- hosts: kafka_cluster
roles:
- role: osm_kafka_cluster
become: yes
Uso
Para usar este rol, solo necesitas ejecutar el playbook.
ansible-playbook -i hosts site.yml
Ejecución de Casos de Prueba para la Configuración
Para ejecutar los casos de prueba, tenemos una carpeta separada llamada inspec. Inspec (https://www.inspec.io/) debe estar instalado si deseas ejecutar los casos de prueba.
El comando que debes ejecutar es:
inspec exec . -t ssh://username@server_ip -i /path/to/keyfile
Autor
Acerca del proyecto
Ansible role for setting up the kafka cluster with zookeeper
Instalar
ansible-galaxy install opstree_devops.kafka_cluster
Licencia
Unknown
Descargas
158
Propietario