opstree_devops.kafka_cluster
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
À 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