jaytaylor.kafka
Ansible Kafka
Eine Ansible-Rolle zur Installation und Konfiguration von Kafka, einem verteilten Pub/Sub-Nachrichtensystem.
So bekommen Sie es
Fügen Sie in Ihre Playbooks die Datei requirements.yml Folgendes hinzu:
- src: https://github.com/jaytaylor/ansible-kafka
und führen Sie dann aus:
ansible-galaxy install -r requirements.yml --ignore-errors
Oder, wenn Sie diese Rolle nur herunterladen und verwenden möchten:
cd my-playbook-folder/roles
git clone https://github.com/jaytaylor/ansible-kafka.git
cd -
So verwenden Sie es
Sobald die Rolle installiert ist, konfigurieren Sie sie in Ihrer Playbook-Datei (z.B. playbook.yml).
Beispiel:
---
- hosts: [all]
roles:
- {
role: "ansible-kafka",
kafka_hosts: "{{ groups.kafka | list }}",
kafka_zookeeper_hosts: "{{ zookeeper_hosts | list }}"
kafka_version: 0.11.0.2, # Kafka-Version-Überschreibung.
kafka_scala_serverion: 2.10 # Scala-Version-Überschreibung.
}
Dabei sind kafka_hosts
und zookeeper_hosts
definierte Variablen (z.B. in group_vars/all), die die Liste der zu verwendenden Hosts enthalten.
Wichtiger Hinweis
Wenn Sie diese Rolle von der Ansible-Galaxy-Website verwenden, stellen Sie sicher, dass Sie "jaytaylor.kafka" für den Rollennamen verwenden (anstatt "ansible-kafka").
Rollenvariablen
kafka_hosts
- Liste von Hosts im Cluster.kafka_zookeeper_hosts
- Liste von Zookeeper-Hosts für den Cluster.kafka_broker_id
- Ganzzahl, die den Broker eindeutig identifiziert; standardmäßig wird einer für Sie generiert, entweder von dieser Rolle oder von Kafka selbst für Versionen >= 0.9.kafka_generate_broker_id
- Flag, das steuert, ob eine Broker-ID generiert werden soll; standardmäßig aufja
.kafka_server_defaults
- Standard-Kafka-Servereinstellungen. Diese Variable sollte normalerweise nicht geändert werden.kafka_producer_defaults
- Standard-Kafka-Producer-Einstellungen. Diese Variable sollte normalerweise nicht geändert werden.kafka_server
- Ermöglicht das Überschreiben spezieller Standardservereinstellungen (aus der Variablekafka_server_defaults
). Werte in diesem Hash werden mit der Variablekafka_server_defaults
kombiniert.kafka_producer
- Ermöglicht das Überschreiben spezieller Standardproduzereinrichtungen (aus der Variablekafka_producer_defaults
). Werte in diesem Hash werden mit der Variablekafka_server_defaults
kombiniert.kafka_healthcheck_address
- Wenn nicht definiert, wird dies dynamisch aufkafka_server_defaults.host_name
oderkafka_server.host_name
gesetzt, falls definiert. Standardwert ist '127.0.0.1'.kafka_java_version
- Zu installierende Java-Version. Standardwert ist "openjdk-7-jre-headless".
Versionshinweise
Version 2.0.0 unterstützt keine Ansible-Versionen unter 2.2.
Vor Version 2.0.0 wurden die Ansible-Variablen server
und producer
verwendet, um den Kafka-Server und den Kafka-Produzenten entsprechend zu konfigurieren, aber 2.0.0 führte eine bessere Variablenverwendung und bessere Überschreibung von Variablen ein:
- Die
server
-Variable wurde zukafka_server
, sodass sie innerhalb des "Scopes" der Kafka-Rolle ist. Es handelt sich um einen Hash, der mit dem Hashkafka_server_defaults
kombiniert wird, wobei die Werte aus dem vorherigen Hash überschrieben werden. Dadurch wird das Überschreiben einer speziellen Einstellung einfacher, anstatt den gesamten Hash derserver
-Variable neu zu schreiben, nur um eine Einstellung zu ändern. - Die
producer
-Variable wurde zukafka_producer
, und sie verhält sich jetzt genauso wie diekafka_server
-Variable. Der Hashkafka_producer_defaults
hat auch die Standardwerte für den Produzenten.
Außerdem:
healthcheck_address
wurde zukafka_healthcheck_address
, was den Geltungsbereich verbessert.nofiles_limit
wurde zukafka_nofiles_limit
.
Lizenz
BSD
Autor
Jay Taylor
An Ansible role for installing and configuring a kafka cluster.
ansible-galaxy install jaytaylor.kafka