в yml файле.
Имеется Vagrant файл, в котором я хочу поднять кластер зукипера и кластер кафки. Зукипер вроде поднял, всё норм. Кластеризуется и работает. Дошло дело до кафки.
У кафки в конфиге нужно указать строку с подключением к зукиперу.
В inventory/vbox/hosts прописано несколько групп:
[zookeeper]
zookeeper1 zookeeper_myid=1
zookeeper2 zookeeper_myid=2
zookeeper3 zookeeper_myid=3
[kafka]
kafka1
kafka2
kafka3
[zookeeper-quorum]
zookeeper[1:3]
Переменную, в которой я указываю порт зукипера я вынес в common/defaults/main.yml
zookeeper_client_port: 2181
Есть конфиг kafka/templates/server.properties.j2, где указана переменная
zookeeper.connect={{ kafka_zookeeper_connect }}
В kafka_zookeeper_connect я бы хотел положить строку вида:
zookeeper1:2181,zookeeper2:2181,zookeeper3:2181
Где zookeeper[1-3] - это названия хостов с зукипером. Соответствующие биндинги хост-ip уже прокидываются в /etc/hosts на всех машинах при помощи шаблона.
Подскажите пожалуйста, как сформировать переменную
kafka_zookeeper_connect=zookeeper1:2181,zookeeper2:2181,zookeeper3:2181 ?
привет, например так kafka_zookeeper_connect: " {%- set ips = [] %} {%- for host in groups['zookeeper'] %} {{- ips.append(host ~ ':' ~ hostvars[host]['zookeeper_client_port']) }} {%- endfor %} {{ ips | join(',') }}"
Обсуждают сегодня