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_nameokafka_server.host_namesi 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
serverse 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 variableserversolo para cambiar una configuración. - La variable
producerse convirtió enkafka_producer, y ahora se comporta de la misma manera que la variablekafka_server. Además, el hashkafka_producer_defaultstiene los valores predeterminados para el productor.
Además:
healthcheck_addressse convirtió enkafka_healthcheck_address, lo que mejora su alcance.nofiles_limitse convirtió enkafka_nofiles_limit.
Licencia
BSD
Autor
Jay Taylor
An Ansible role for installing and configuring a kafka cluster.
ansible-galaxy install jaytaylor.kafka