opstree_devops.kafka_cluster
OSM: Kafka
Eine hochwertige Ansible-Rolle, die ein Kafka- und Zookeeper-Cluster einrichtet.
Anforderungen
Die einzige Voraussetzung für diese Rolle ist Java.
Unsere Java-Rolle finden Sie hier.
Rollenvorlagen
Wir haben die Variablen in zwei Kategorien unterteilt: Obligatorisch und Optional.
Obligatorische Variablen
Variablen | Standardwerte | Mögliche Werte | Beschreibung |
---|---|---|---|
zookeeper_data_dir | /opt/zookeeper |
Verzeichnis in Linux | Verzeichnis, in dem Zookeeper seine Informationen speichert |
installation_dir | /opt |
Verzeichnis in Linux | Verzeichnis, in dem Sie Kafka installieren möchten |
kafka_major_version | 2.12 |
Gültige Kafka-Version | Hauptversion der Kafka-Version |
kafka_minor_version | 2.2.1 |
Gültige Kafka-Version | Nebenversion der Kafka-Version |
Optionale Variablen
Variablen | Standardwerte | Mögliche Werte | Beschreibung |
---|---|---|---|
kafka_service_user_name | kafka |
Benutzername für Kafka-Dienste | Systembenutzername für Kafka, von dem aus alle Dienste ausgeführt werden |
kafka_service_group_name | kafka |
Gruppenname für Kafka-Dienste | Systemgruppenname für Kafka, von dem aus alle Dienste ausgeführt werden |
kafka_logs_dir | /var/log/kafka |
Verzeichnis in Linux | Verzeichnis, in dem Kafka Protokolle erstellt |
zk_client_port | 2181 |
Jeder Linux-Port | Zookeeper-Client-Port für die Verbindung |
init_limit | 5 |
Jede Ganzzahl | initLimit ist die Timeout-Zeit, die Zookeeper verwendet, um die Zeit zu begrenzen, die die Zookeeper-Server im Quorum brauchen, um sich mit einem Leader zu verbinden |
sync_limit | 2 |
Jede Ganzzahl | Das entry syncLimit beschränkt, wie weit ein Server hinter einem Leader zurückbleiben kann |
tick_time | 2000 |
Jede Ganzzahl | Die grundlegende Zeiteinheit in Millisekunden, die von Zookeeper verwendet wird. Sie wird für Heartbeats und das Minimum der Sitzungstimeouts verwendet |
max_memory_heap | -Xmx256M |
Speichergröße der JVM | Dies ist die maximale Heap-Größe von Kafka, die gemäß der Serverkonfiguration geändert werden sollte |
min_memory_heap | -Xmx128M |
Speichergröße der JVM | Dies ist die minimale Heap-Größe von Kafka, die gemäß der Serverkonfiguration geändert werden sollte |
Inventar
Ein Inventar sollte wie folgt aussehen:
[zookeeper] # Host- und Id-Informationen für Zookeeper
zookeeper1 zookeeper_id=1
zookeeper2 zookeeper_id=2
zookeeper3 zookeeper_id=3
[kafka] # Host- und Broker-ID-Informationen für Kafka
kafka1 kafka_broker_id=1
kafka2 kafka_broker_id=2
kafka3 kafka_broker_id=3
[kafka_cluster:children] # Elterngruppe für Kafka- und Zookeeper-Gruppen
zookeeper
kafka
[kafka_cluster:vars] # Variablen für die Elterngruppe kafka_cluster
ansible_user=ubuntu
Beispiel-Playbook
Hier ist ein Beispiel-Playbook:
---
- hosts: kafka_cluster
roles:
- role: osm_kafka_cluster
become: yes
Verwendung
Um diese Rolle zu verwenden, führen Sie einfach das Playbook aus:
ansible-playbook -i hosts site.yml
Ausführen von Testfällen für die Einrichtung
Um die Testfälle auszuführen, haben wir einen separaten Ordner namens inspec. Inspec (https://www.inspec.io/) muss installiert sein, wenn Sie die Testfälle ausführen möchten.
Befehl, der ausgeführt werden muss:
inspec exec . -t ssh://username@server_ip -i /pfad/zur/schlüsseldatei
Autor
Über das Projekt
Ansible role for setting up the kafka cluster with zookeeper
Installieren
ansible-galaxy install opstree_devops.kafka_cluster
Lizenz
Unknown
Downloads
158
Besitzer