[ 
https://issues.apache.org/jira/browse/BIGTOP-1689?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14360285#comment-14360285
 ] 

Michael Weiser commented on BIGTOP-1689:
----------------------------------------

http://hadoop.apache.org/docs/r2.4.1/api/org/apache/hadoop/conf/Configuration.html
 is the only documentation on how the configuration files work I can find. It 
explains how the resource search paths and final parameters work. Nothing is 
said about order within one file.

A quick test with two settings in hdfs-site.xml shows that duplicate settings 
do not cause a parse error. The last value wins. If the first occurence is 
marked final, its value wins and the logfile correctly shows an attempt to 
overwrite a final value. So at least empirically all seems well with overriding 
values within the same file.

> puppet: Allow merging arbitrary site configuration
> --------------------------------------------------
>
>                 Key: BIGTOP-1689
>                 URL: https://issues.apache.org/jira/browse/BIGTOP-1689
>             Project: Bigtop
>          Issue Type: Improvement
>          Components: deployment
>    Affects Versions: 0.8.0
>            Reporter: Peter Slawski
>            Assignee: Peter Slawski
>             Fix For: 0.9.0
>
>         Attachments: BIGTOP-1689.1.patch
>
>
> Puppet should be flexible in allowing arbitrary configuration name value 
> pairs to be merged into a given site.xml file that was generated from a 
> template.
> For example, the following could be included in site.yaml which would add a 
> configuration entry for hadoop.tmp.dir in core-site.xml:
> {code}
> hadoop::common_hdfs::hadoop_core_site_overrides:
>   "hadoop.tmp.dir": "/mnt/var/lib/hadoop/tmp"
> {code}
> This could be implemented as a puppet custom-function taking in the output of 
> template:
> {code}
>     file {
>       "/etc/hadoop/conf/core-site.xml":
>         content => merge_site(template('hadoop/core-site.xml'),  
> $hadoop_core_site_overrides)
>         require => [Package["hadoop"]],
>     }
> {code}
> Perhaps another approach would be to have site.xml templates be created from 
> a single map of name value pairs. The merge would happen before the file 
> content is generated from the template.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to