jaytaylor.kafka
Ansible Kafka
Un rol de ansible para instalar y configurar clústeres de colas de mensajería de publicación/suscripción distribuidas de kafka.
Cómo obtenerlo
Agrega a tu archivo requirements.yml de los playbooks:
- src: https://github.com/jaytaylor/ansible-kafka
y luego ejecuta:
ansible-galaxy install -r requirements.yml --ignore-errors
O si solo deseas obtener este rol y comenzar a usarlo:
cd mi-carpeta-de-playbook/roles
git clone https://github.com/jaytaylor/ansible-kafka.git
cd -
Cómo usarlo
Una vez que el rol esté instalado, configúralo desde tu archivo de playbook (por ejemplo, playbook.yml).
Ejemplo:
---
- hosts: [all]
roles:
- {
role: "ansible-kafka",
kafka_hosts: "{{ groups.kafka | list }}",
kafka_zookeeper_hosts: "{{ zookeeper_hosts | list }}"
kafka_version: 0.11.0.2, # Sobrescribir la versión de Kafka.
kafka_scala_serverion: 2.10 # Sobrescribir la versión de Scala.
}
Donde kafka_hosts
y zookeeper_hosts
son variables definidas (por ejemplo, en group_vars/all) y contienen la lista de hosts a utilizar.
Nota Importante
Si estás utilizando este rol desde el sitio web de ansible-galaxy, asegúrate de usar "jaytaylor.kafka" como nombre del rol (en lugar de "ansible-kafka").
Variables del Rol
kafka_hosts
- lista de hosts en el clúster.kafka_zookeeper_hosts
- lista de hosts de zookeeper para el clúster.kafka_broker_id
- Entero que identifica de manera única al broker, por defecto se generará uno para ti ya sea por este rol o por kafka mismo para versiones >= 0.9.kafka_generate_broker_id
- Bandera que controla si se debe generar un id de broker, por defecto essí
.kafka_server_defaults
- Configuraciones predeterminadas del servidor Kafka. Esta variable generalmente no debería cambiarse.kafka_producer_defaults
- Configuraciones predeterminadas del productor Kafka. Esta variable generalmente no debería cambiarse.kafka_server
- Permite sobrescribir configuraciones predeterminadas del servidor (de la variablekafka_server_defaults
). Los valores en este hash se combinan con la variablekafka_server_defaults
.kafka_producer
- Permite sobrescribir configuraciones predeterminadas del productor (de la variablekafka_producer_defaults
). Los valores en este hash se combinan con la variablekafka_server_defaults
.kafka_healthcheck_address
- Si no se define, se establecerá dinámicamente enkafka_server_defaults.host_name
okafka_server.host_name
si está definido. Por defecto es '127.0.0.1'.kafka_java_version
- Versión de Java a instalar. Por defecto es "openjdk-7-jre-headless".
Notas de versión
La versión 2.0.0 no es compatible con las versiones de Ansible inferiores a 2.2.
Antes de la versión 2.0.0, se utilizaban las variables de Ansible server
y producer
para configurar el servidor y el productor de Kafka respectivamente, pero la 2.0.0 introdujo un mejor alcance de variables y mejor sobrescritura de variables:
- La variable
server
se convirtió enkafka_server
, por lo que está dentro del "alcance" del rol de Kafka. Es un hash que se combina con el hashkafka_server_defaults
, sobrescribiendo los valores definidos en el anterior. Esto facilita la sobrescritura de solo una configuración particular, en lugar de reescribir todo el hash de la variableserver
solo para cambiar una configuración. - La variable
producer
se convirtió enkafka_producer
, y ahora se comporta de la misma manera que la variablekafka_server
. Además, el hashkafka_producer_defaults
tiene los valores predeterminados para el productor.
Además:
healthcheck_address
se convirtió enkafka_healthcheck_address
, lo que mejora su alcance.nofiles_limit
se convirtió enkafka_nofiles_limit
.
Licencia
BSD
Autor
Jay Taylor
An Ansible role for installing and configuring a kafka cluster.
ansible-galaxy install jaytaylor.kafka