如何写一个模板自动在zoo.cfg中写入"server.x=hostname:Quorom_Port:Election_Port"

How to write a template to automatically write "server.x=hostname:Quorom_Port:Election_Port" in zoo.cfg

我希望使用基于 attributes/default.rb 文件

中声明的主机数量的模板将 "server.x=hostname:Quorom_Port:Election_Port" 值写入 zoo.cfg
default['zookeeper']['servers'] = ["hostname1", "hostname2", "hostname3"]
default['zookeeper']['follower_port'] = 2888
default['zookeeper']['election_port'] = 3888

对于上述属性,应使用模板将以下值自动写入 zoo.cfg 文件中:

server.1= hostname1:2888:3888
server.2= hostname2:2888:3888
server.3= hostname3:2888:3888

请告诉我该怎么做?

<%- if node['zookeeper']['servers'] %>
    <%- node['zookeeper']['servers'].each_with_index do |host, idx| %>
        server.<%= idx+1 %>=<%= host %>:<%= node['zookeeper']['follower_port']%>:<%= node['zookeeper']['election_port']%>
    <%- end %>
<%- end %>

上面的一段代码解决了问题。