opstree_devops.kafka_cluster

Conforme CiS Licence Apache Dernière publication GitHub

OSM : Kafka

Un rôle Ansible de haute qualité qui mettra en place un cluster Kafka et Zookeeper.

Exigences

La seule exigence pour ce rôle est Java.

Vous pouvez trouver notre rôle Java ici.

Variables du rôle

Nous avons catégorisé les variables en deux parties, c'est-à-dire Obligatoires et Facultatives.

Variables Obligatoires

Variables Valeurs par défaut Valeurs possibles Description
zookeeper_data_dir /opt/zookeeper N'importe quel répertoire Linux Répertoire de données où Zookeeper stockera ses informations
installation_dir /opt N'importe quel répertoire Linux Répertoire où vous souhaitez installer Kafka
kafka_major_version 2.12 Toute version Kafka valide Version majeure de la version de Kafka
kafka_minor_version 2.2.1 Toute version Kafka valide Version mineure de la version de Kafka

Variables Facultatives

Variables Valeurs par défaut Valeurs possibles Description
kafka_service_user_name kafka Nom d'utilisateur du service pour Kafka Nom d'utilisateur système Kafka à partir duquel tout fonctionnera
kafka_service_group_name kafka Nom de groupe du service pour Kafka Nom de groupe système Kafka à partir duquel tout fonctionnera
kafka_logs_dir /var/log/kafka N'importe quel répertoire Linux Répertoire où Kafka générera des journaux
zk_client_port 2181 N'importe quel numéro de port Linux Port client Zookeeper pour la connexion
init_limit 5 Tout nombre entier initLimit est le délai d'attente que Zookeeper utilise pour limiter le temps que les serveurs Zookeeper dans le quorum ont pour se connecter à un leader
sync_limit 2 Tout nombre entier Le syncLimit d'entrée limite combien un serveur peut être en retard par rapport à un leader
tick_time 2000 Tout nombre entier L'unité de temps de base en millisecondes utilisée par Zookeeper. Elle est utilisée pour les cœurs et le délai d'expiration minimal de session sera deux fois le tickTime
max_memory_heap -Xmx256M Taille de la mémoire de la JVM C'est la taille maximale du tas de Kafka qui devrait être modifiée en fonction de la configuration du serveur
min_memory_heap -Xmx128M Taille de la mémoire de la JVM C'est la taille minimale du tas de Kafka qui devrait être modifiée en fonction de la configuration du serveur

Inventaire

Un inventaire devrait ressembler à ceci :

[zookeeper]                   # Informations sur l'hôte et l'ID pour Zookeeper
zookeeper1    zookeeper_id=1
zookeeper2    zookeeper_id=2
zookeeper3    zookeeper_id=3

[kafka]                       # Informations sur l'hôte et l'ID de courtier pour Kafka
kafka1   kafka_broker_id=1
kafka2   kafka_broker_id=2
kafka3   kafka_broker_id=3

[kafka_cluster:children]      # Groupe parent pour Kafka et Zookeeper
zookeeper
kafka

[kafka_cluster:vars]          # Variables pour le groupe parent kafka_cluster
ansible_user=ubuntu

Exemple de Playbook

Voici un exemple de playbook :

---
- hosts: kafka_cluster
  roles:
    - role: osm_kafka_cluster
      become: yes

Utilisation

Pour utiliser ce rôle, vous devez simplement exécuter le playbook.

ansible-playbook -i hosts site.yml

Exécution des cas de test pour l'installation

Pour exécuter les cas de test, nous avons un dossier séparé nommé inspec. Inspec (https://www.inspec.io/) doit être installé si vous souhaitez exécuter les cas de test.

Commande à exécuter :

inspec exec . -t ssh://username@server_ip -i /path/to/keyfile

Auteur

Abhishek Dubey

À propos du projet

Ansible role for setting up the kafka cluster with zookeeper

Installer
ansible-galaxy install opstree_devops.kafka_cluster
Licence
Unknown
Téléchargements
158
Propriétaire