jaytaylor.kafka
Ansible Kafka
Un rôle Ansible pour installer et configurer des clusters de file d'attente de messages pub/sub distribués kafka.
Comment l'obtenir
Ajoutez à votre fichier requirements.yml des playbooks :
- src: https://github.com/jaytaylor/ansible-kafka
Puis exécutez :
ansible-galaxy install -r requirements.yml --ignore-errors
Ou si vous souhaitez simplement récupérer ce rôle et commencer à l'utiliser :
cd my-playbook-folder/roles
git clone https://github.com/jaytaylor/ansible-kafka.git
cd -
Comment l'utiliser
Une fois le rôle installé, configurez-le depuis votre fichier playbook (par ex. playbook.yml).
Exemple :
---
- hosts: [all]
roles:
- {
role: "ansible-kafka",
kafka_hosts: "{{ groups.kafka | list }}",
kafka_zookeeper_hosts: "{{ zookeeper_hosts | list }}"
kafka_version: 0.11.0.2, # Remplacement de la version Kafka.
kafka_scala_serverion: 2.10 # Remplacement de la version Scala.
}
Où kafka_hosts
et zookeeper_hosts
sont des variables définies (par ex. dans group_vars/all) et contiennent la liste des hôtes à utiliser.
Remarque importante
Si vous utilisez ce rôle depuis le site Ansible Galaxy, assurez-vous d'utiliser "jaytaylor.kafka" comme nom de rôle (et non "ansible-kafka").
Variables de rôle
kafka_hosts
- liste des hôtes dans le cluster.kafka_zookeeper_hosts
- liste des hôtes Zookeeper pour le cluster.kafka_broker_id
- Entier identifiant de manière unique le courtier, par défaut, un identifiant sera généré pour vous soit par ce rôle, soit par Kafka lui-même pour les versions >= 0.9.kafka_generate_broker_id
- Indicateur contrôlant si un identifiant de courtier doit être généré, par défaut àoui
.kafka_server_defaults
- Paramètres par défaut du serveur Kafka. Cette variable ne devrait généralement pas être modifiée.kafka_producer_defaults
- Paramètres par défaut du producteur Kafka. Cette variable ne devrait généralement pas être modifiée.kafka_server
- Permet de remplacer des paramètres de serveur par défaut particuliers (de la variablekafka_server_defaults
). Les valeurs de ce hachage sont combinées avec celles de la variablekafka_server_defaults
.kafka_producer
- Permet de remplacer des paramètres par défaut particuliers du producteur (de la variablekafka_producer_defaults
). Les valeurs de ce hachage sont combinées avec celles de la variablekafka_server_defaults
.kafka_healthcheck_address
- Si non définie, cela sera automatiquement définie commekafka_server_defaults.host_name
oukafka_server.host_name
si défini. Par défaut à '127.0.0.1'.kafka_java_version
- Version de Java à installer. Par défaut "openjdk-7-jre-headless".
Remarques sur la version
La version 2.0.0 ne prend pas en charge les versions Ansible inférieures à 2.2.
Avant la version 2.0.0, les variables Ansible server
et producer
étaient utilisées pour configurer respectivement le serveur Kafka et le producteur Kafka, mais la version 2.0.0 a introduit un meilleur scope de variable et un meilleur remplacement de variable :
- La variable
server
est devenuekafka_server
, elle est donc maintenant dans le "scope" du rôle Kafka. C'est un hachage combiné avec le hachagekafka_server_defaults
, remplaçant les valeurs définies précédemment. Cela facilite le remplacement de certains paramètres particuliers sans avoir à réécrire tout le hachage de la variableserver
juste pour changer un paramètre. - La variable
producer
est devenuekafka_producer
, et elle se comporte maintenant de la même manière que la variablekafka_server
. De plus, le hachagekafka_producer_defaults
contient les valeurs par défaut pour le producteur.
Aussi :
healthcheck_address
est devenuekafka_healthcheck_address
, ce qui améliore son scope.nofiles_limit
est devenukafka_nofiles_limit
.
Licence
BSD
Auteur
Jay Taylor
An Ansible role for installing and configuring a kafka cluster.
ansible-galaxy install jaytaylor.kafka