levonet.docker-zookeeper
Zookeeper Rolle
Konfigurieren und starten Sie Zookeeper in einem Docker-Container mit dem offiziellen Image zookeeper:latest
.
Rollenvariablen
zookeeper_id
(erforderlich): Die ID muss im Ensemble eindeutig sein und einen Wert zwischen 1 und 255 haben.zookeeper_servers
(erforderlich): Diese Variable ermöglicht es, eine Liste von Maschinen des Zookeeper-Ensembles anzugeben. Jeder Eintrag hat die Formserver.id=host:port:port
. Einträge sind durch ein Leerzeichen getrennt. Ab Version 3.5 hat sich die Syntax geändert. Server sollten folgendermaßen angegeben werden:server.id=<address1>:<port1>:<port2>[:role];[<client port address>:]<client port>
Zookeeper Dynamische Neukonfiguration.docker_zookeeper_name
(Standard: zookeeper): Dieser Name wird im Namen des Home-Ordners und im Namen des Containers verwendet.docker_zookeeper_version
(Standard: latest)docker_zookeeper_image
(Standard: zookeeper:{{docker_zookeeper_version}})docker_zookeeper_expose
(Standard: [2181, 2888, 3888])docker_zookeeper_ports
(Standard: [2181, 2888, 3888]) Der Zookeeper-Client-Port, Follower-Port, Wahl-Port jeweils.docker_zookeeper_env
(optional): Siehe Umgebungsvariablen für weitere Informationen.docker_zookeeper_network_mode
(Standard: host): Verbindet den Container mit einem Netzwerk.docker_zookeeper_networks
(Standard: []): Liste der Netzwerke, zu denen der Container gehört.docker_zookeeper_log_driver
(Standard: json-file): Geben Sie den Protokollierungs-Treiber an.docker_zookeeper_log_options
(optional): Wörterbuch von Optionen, die spezifisch für den gewählten Log-Treiber sind. Siehe Protokollierungs-Treiber konfigurieren für weitere Details.
Abhängigkeiten
docker
Beispiel-Playbook
In hosts
:
[zooservers]
10.10.10.1 zookeeper_id=1
10.10.10.2 zookeeper_id=2
10.10.10.3 zookeeper_id=3
Im Playbook:
- hosts: zooservers
roles:
- role: levonet.docker-zookeeper
zookeeper_servers: "server.1=10.10.10.1:2888:3888 server.2=10.10.10.2:2888:3888 server.3=10.10.10.3:2888:3888"
docker_zookeeper_name: "zookeeper-{{ zookeeper_id }}"
docker_zookeeper_log_driver: syslog
docker_zookeeper_log_options:
syslog-facility: local0
tag: "{{ docker_zookeeper_name }}"
when: zookeeper_id is defined
Ein Beispiel zum Ausführen eines Zookeeper-Clusters auf einem einzelnen Server
- hosts: all
vars:
zookeeper_host: "{{ hostvars[inventory_hostname]['ansible_default_ipv4']['address'] }}"
docker_zookeeper_version: "3.5"
roles:
- role: levonet.docker-zookeeper
docker_zookeeper_name: zoo-1
docker_zookeeper_env:
ZOO_MY_ID: 1
ZOO_SERVERS: server.1=0.0.0.0:2788:3788;2181 server.2={{ zookeeper_host }}:2888:3888;2182 server.3={{ zookeeper_host }}:2988:3988;2183
docker_zookeeper_expose: [2181, 2788, 3788]
docker_zookeeper_ports:
- 2181
- role: levonet.docker-zookeeper
docker_zookeeper_name: zoo-2
docker_zookeeper_env:
ZOO_MY_ID: 2
ZOO_SERVERS: server.1={{ zookeeper_host }}:2788:3788;2181 server.2=0.0.0.0:2888:3888;2182 server.3={{ zookeeper_host }}:2988:3988;2183
docker_zookeeper_expose: [2182, 2888, 3888]
docker_zookeeper_ports:
- 2182
- role: levonet.docker-zookeeper
docker_zookeeper_name: zoo-3
docker_zookeeper_env:
ZOO_MY_ID: 3
ZOO_SERVERS: server.1={{ zookeeper_host }}:2788:3788;2181 server.2={{ zookeeper_host }}:2888:3888;2182 server.3=0.0.0.0:2988:3988;2183
docker_zookeeper_expose: [2183, 2988, 3988]
docker_zookeeper_ports:
- 2183
Lizenz
Autoreninformation
Diese Rolle wurde erstellt von Marica Antonacci
Aktueller Betreuer Pavlo Bashynskyi
Installieren
ansible-galaxy install levonet.docker-zookeeper
Lizenz
apache-2.0
Downloads
2.8k
Besitzer