2015-02-23 29 views
0

我希望使用「server.x」命令將「server.x = hostname:Quorom_Port:Election_Port」值寫入zoo.cfg基於在屬性/ default.rb文件如何編寫一個模板以自動在zoo.cfg中寫入「server.x = hostname:Quorom_Port:Election_Port」

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 

請讓我知道如何做到這一點?

回答

0
<%- 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 %> 

上面這段代碼解決了這個問題。

相關問題